本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文This site is available in English.View in Englishこのサイトには日本語版があります。日本語で表示이 사이트는 한국어로도 제공됩니다.한국어로 보기Diese Website ist auch auf Deutsch verfügbar.Auf Deutsch ansehenEste sitio web también está disponible en español.Ver en españolCe site est également disponible en français.Afficher en françaisEste site também está disponível em português.Ver em portuguêsDeze website is ook beschikbaar in het Nederlands.In het Nederlands bekijkenЭтот сайт также доступен на русском языке.Смотреть на русскомयह वेबसाइट हिन्दी में भी उपलब्ध है।हिन्दी में देखेंهذا الموقع متاح أيضًا باللغة العربية.عرض بالعربيةSitus ini juga tersedia dalam bahasa Indonesia.Lihat dalam bahasa IndonesiaBu site Türkçe olarak da mevcut.Türkçe görüntüleTa strona jest dostępna także po polsku.Wyświetl po polskuTrang web này cũng có phiên bản tiếng Việt.Xem bằng tiếng Việtاین وب‌سایت به فارسی هم در دسترس است.مشاهده به فارسی

Rejection nell'integrazione: scelta dell'algoritmo e lettura della Rejection Map

Preelaborazione e stacking2021.01

La «rejection» durante l’integrazione è il processo con cui, mentre si sovrappongono più immagini, si scartano automaticamente quei valori anomali che non dovrebbero esserci: scie di satellite, macchie bianche dei raggi cosmici, pixel caldi (hot pixels) residui, gli aloni delle stelle troppo luminose e così via. Scegliere l’algoritmo di rejection giusto e saper leggere la Rejection Map che produce è la chiave per ottenere un’integrazione pulita. Questo articolo mette in ordine la logica con cui scegliere un algoritmo di rejection e, inoltre, come vadano lette esattamente quelle due mappe di rejection che così spesso vengono ignorate.

La famiglia degli algoritmi di rejection

PixInsight offre diversi algoritmi di rejection durante l’integrazione; la documentazione ufficiale elenca a quale scenario si adatta ciascun algoritmo ed è senz’altro degna di lettura (attenzione: questo documento è stato pubblicato ormai da parecchio tempo e non copre l’algoritmo GESD, aggiunto in seguito).

Gli algoritmi di rejection elencati nella documentazione ufficiale di PixInsight Image Integration

Si possono suddividere per grandi linee in due categorie:

  • La famiglia Sigma: rejection dei valori anomali basata sulla deviazione standard, per esempio Sigma Clipping, la versione migliorata Winsorized Sigma Clipping e Percentile Clipping. Il loro principio e la loro matematica appartengono allo stesso sistema.
  • GESD Test: basato sul Grubbs’s test, la sua teoria e la sua matematica sono completamente diverse da quelle dei metodi basati su sigma. È un algoritmo aggiunto relativamente tardi.

GESD vs Sigma: chi vince quando i frame sono pochi?

Ho fatto il confronto davvero. Una volta ho preso un set di dati di soli 12 frame e ho eseguito in parallelo GESD Test, Winsorized Sigma Clipping e il tradizionale Sigma Clipping.

Confronto tra GESD, Winsorized Sigma e Sigma Clipping (set di dati da 12 frame)

Dodici frame in realtà non soddisfano il numero di frame consigliato per GESD o Winsorized Sigma, eppure in questo particolare set il GESD Test ha dato il risultato migliore. Va però aggiunta una postilla: se si tratta di dati a colori e per giunta di frame insufficienti, è comunque più adatto usare Winsorized Sigma o Sigma. Non esiste quindi un algoritmo «sempre il migliore»: dipende dai dati.

GESD contro le scie di satellite deboli

GESD ha un altro vantaggio sul campo. In passato, quando integravo con la famiglia sigma, mi imbattevo spesso in scie di satellite piuttosto deboli che non c’era verso di eliminare: anche con 17 frame, a integrazione finita restava comunque parte della scia, e questo tipo di scia debole non si presta alla manual selective rejection (annerirla a mano).

Eliminazione riuscita di una scia di satellite debole dopo aver regolato i parametri di GESD e dilatato la scia

Passando a GESD Test e, dopo aver regolato adeguatamente i parametri, aver dilatato (fatto crescere) la scia di satellite debole, sono riuscito a eliminare una scia estremamente debole; e, in generale, il rapporto segnale/rumore (S/N) di GESD è più alto di quello del tradizionale Sigma Clipping o del Winsorized Sigma Clipping. (Detto ciò, nella maggior parte dei casi con la famiglia sigma non ci si imbatte in un problema di questo tipo, impossibile da eliminare: si tratta di un caso limite piuttosto estremo.)

Un’arma speciale: Range Clipping

Oltre alla rejection statistica dei valori anomali, c’è un altro mezzo «di forza bruta» ma comodo: il Range Clipping.

Usare il Low Range clipping per rimuovere a forza i punti neri causati da una cattiva calibrazione dei dark

Se ci si ritrova con quelle immagini dalla cattiva calibrazione dei dark che mostrano molti punti neri (per esempio presenti in 10 frame e assenti in 5), agli algoritmi di rejection ordinari riesce difficile eliminare questi punti neri individuando i valori anomali. In tal caso si può usare durante l’integrazione il Range Low Clipping per rimuovere a forza ogni punto nero al di sotto di una certa soglia. È un mezzo diretto rivolto a un difetto specifico, complementare alla rejection statistica.

L’effetto del Low Range clipping nel rimuovere i punti neri

Leggere la Rejection Map

Quando si finisce di integrare con ImageIntegration o WBPP, oltre all’immagine finita si generano anche due mappe di rejection: una per la direzione dell’alta luminosità (rejection high) e una per la direzione della bassa luminosità (rejection low). La maggior parte delle persone ignora senz’altro queste due, il che in realtà spreca informazioni diagnostiche molto utili.

Scie di satellite, aloni di stelle gonfiate e scie di oggetti vicini alla Terra che compaiono nella mappa rejection high

Di solito in rejection low non c’è granché da vedere; ciò che conta è rejection high: qui compaiono tutte le interferenze che si preferirebbe «non vedere nell’immagine finita» — scie di satellite, gli aloni delle stelle troppo luminose o gonfiate, scie di oggetti vicini alla Terra, e ancora pixel caldi e macchie bianche causate dai raggi cosmici (i pixel caldi di solito li ripulisco già prima dell’integrazione con Cosmetic Correction, quindi qui non ce ne sono molti).

Il modo più pratico di interpretare questa mappa è: se un pixel che si voleva scartare compare in rejection high, significa che è stato eliminato con successo; se invece non compare qui e resta nell’immagine integrata finita (per esempio una scia di satellite residua), significa che i parametri di rejection non sono sufficienti, oppure che si dovrebbe cambiare algoritmo.

Alcune domande frequenti del tipo «devo scartare questo frame?»

Una volta compreso il principio di cui sopra, molti dei tormenti dei principianti trovano una risposta.

Un’immagine con stelle gonfiate: la scarto in modo che non partecipi all’integrazione? A meno che non sia sfocata, di solito la lascio partecipare all’integrazione.

Illustrazione degli aloni di stelle gonfiate / troppo luminose e delle scie di satellite scartati in rejection high

Esaminando rejection high si scopre che quelle porzioni di stelle di dimensioni eccessive o troppo luminose sono già state rimosse dalla rejection e non hanno partecipato al calcolo dell’integrazione; anche le scie dei satelliti artificiali e i grumi bianchi dei raggi cosmici finiscono allo stesso modo in rejection high. Questo genere di lavoro conviene lasciarlo al software.

C’è una scia di satellite luminosa che attraversa da parte a parte il soggetto: devo cancellare a mano quel frame? La risposta è, di nuovo, che non serve.

Uno tra 7 frame ha una scia di satellite che attraversa il soggetto, scartata automaticamente grazie a parametri Sigma High rigorosi

Come fare: se i frame sono pochi, si usa un algoritmo con maggiore capacità di rejection (per esempio la famiglia Sigma Clipping) e si imposta il parametro Sigma High un po’ più rigoroso (per esempio sotto 2,5). In un esempio avevo solo 7 frame, uno dei quali con una scia di satellite che attraversava il soggetto; ogni frame contava per il rapporto segnale/rumore, perciò, impostando i parametri adeguati (senza usare i valori predefiniti del software), ho lasciato che il processo di integrazione portasse a termine la rejection in automatico, e la scia eliminata con successo compare in rejection high. Non sprechi nemmeno un pixel conquistato a fatica.

L’eccezione della colonna difettosa: la rejection non può salvarla

Infine, aggiungo un’eccezione che la rejection non può salvare: la colonna difettosa (defect column) di un CCD.

Usare una Defect Map per eliminare la colonna difettosa del CCD, lasciando il resto alla rejection

La colonna difettosa è troppo scura e per giunta corre per l’intera lunghezza (del fotogramma); volerla rimuovere a tutti i costi con la rejection costa troppi pixel buoni e per di più funziona male. Il modo corretto è creare prima una Defect Map per la fotocamera (prendendo come esempio il CCD 16803 di «Latte», c’è una colonna difettosa evidente al centro dell’inquadratura, più altre tre poco vistose), caricarla con il processo DefectMap e applicarla ai light per ridurre notevolmente l’effetto della colonna difettosa, e poi lasciare che la rejection dell’integrazione ripulisca senza sforzo ciò che resta. In altre parole, la rejection è la squadra di pulizie che entra in scena alla fine, non un’onnipotente prima linea di difesa: i difetti che vanno trattati con uno strumento dedicato hanno comunque bisogno, prima, dello strumento giusto.