La deconvoluzione Richardson-Lucy

Da Sezione Pianeti UAI.

Indice

Introduzione

Le tecniche di elaborazione basate su Wavelet e Maschera Sfocata sono le più semplici e diffuse, ma lasciano all'utente la scelta arbitraria su come applicarle: i parametri e il numero di iterazioni sono liberamente fissati da chi elabora, secondo il risultato che desidera raggiungere.

In ambito professionale questo approccio non sarebbe accettabile. In passato, quindi, sono stati ideati vari metodi di "ricostruzione" dell'informazione contenuta in un'immagine, basati su procedure che cercano di recuperare l'informazione presente ma nascosta da effetti di deteriorazione (ottici o atmosferici). Essi prendono nomi diversi, a seconda dei principi su cui sono basati: Massima Entropia (MEM), Richardson-Lucy (RL)... e ne sono state ideate mille varianti. Questi metodi, che hanno avuto un grande aumento di interesse all'epoca delle ottiche aberrate del Telescopio Spaziale Hubble, non vanno oltre un recupero fedele e onesto: ovvero, in teoria, non producono un aumento artificioso del contrasto o della nitidezza, al di là del limite dell'informazione già presente nell'immagine. Inoltre, lasciano poca scelta all'utente. Oltre di un certo numero di iterazioni, se usati come previsto, l'immagine "converge" a un risultato che non si modifica ulteriormente.

Il vantaggio è un'elaborazione standard, che non dipende troppo dall'utente, e che conserva (anche se ciò va verificato con attenzione caso per caso) il contenuto fotometrico dell'immagine, ovvero la luminosità degli oggetti ripresi.

I dettagli appaiono morbidi e naturali, il che può essere un vantaggio in tanti casi, mentre in altri si preferisce mettere in evidenza il bordo e avere dettagli più incisi, ad esempio per facilitare le misurazioni. Ciò può essere ottenuto con qualche "sofisticazione" ulteriore (maschere sfocate dopo una deconvoluzione RL), che danno il risultato ricercato, sminuendo però i vantaggi della deconvoluzione stessa...

Principio

Immagine ripresa da P. Tanga il 10/1/2005 (Toucam, Mak-Newton 18 cm). A sinistra la somma grezza, a destra l'elaborazione Richardson Lucy (200 iterazioni, ma a partire dalla 70ema poco cambia del risultato).

Il principio del metodo di RL è semplice. Si può infatti considerare che l'immagine ripresa sia il risultato di un filtro applicato sull'aspetto "reale" dell'oggetto. Tale filtro lo si può rappresentare in tanti modi, ma quello più semplice e completo consiste nel riprendere, contemporaneamente all'oggetto esteso, una stella puntiforme. La deformazione della stella ci dirà, da sola, quale deformazione è introdotta in ogni punto dell'immagine.

Più rigorosamente, si dirà che l'immagine risultante è una combinazione matematica (detta "convoluzione") tra l'aspetto "reale" del pianeta e una funzione detta "funzione di dispersione del punto" (Point Spread Function, PSF) ottenuta, appunto, da un'immagine stellare. La convoluzione agisce esattamente come un filtro, che nel nostro caso "sparpaglia" all'intorno la luce che giunge in un punto dell'immagine. Ciò produce la deteriorazione della nitidezza, ed è effetto della turbolenza e di altre modificazioni dell'immagine indotte dall'ottica.

La "deconvoluzione" è, appunto, il procedimento contrario: si tratta di "raccogliere" la luce sparpagliata dai vari punti che compongono l'immagine e "rimetterla al suo posto".

La procedura ha i suoi limiti (quelli ottici, al di sotto dei quali non si può scendere) e quelli imposti dall'inevitabile rumore presente nell'immagine. Questi sono i principali ostacoli, e i vari metodi impiegati - RL compreso - adottano opportuni stratagemmi per evitare amplificazioni di dettagli inesistenti, ovvero che provengono dal rumore stesso. Resta tuttavia presente il rischio (ad esempio se si usa una "PSF" sbagliata) di veder fiorire sull'immagine una trama di falsi dettagli provenienti dal rumore.

Come si procede

Riassunto della procedura

Il metodo RL necessita di una PSF (immagine stellare) per funzionare. Siccome le nostre immagini planetarie derivano dalla somma di molti fotogrammi, è relativamente semplice riprendere un film in più (una stella non troppo lontana dal pianeta, che non saturi), nella stessa configurazione usata sul pianeta, e sottoporlo ad analogo trattamento (allineamento e somma). Quanti più fotogrammi ci sono, meglio è. Il risultato sarà un'immagine stellare corrispondente all'ottica in uso e deteriorata dall'effetto "medio" del seeing della serata.

La ripresa non sarà quindi proprio "contemporanea", ma è probabilmente difficile fare di meglio nella maggior parte dei casi.

Con appositi comandi di IRIS, prima si porta vicino a zero il fondo cielo nelle immagini della stella e del pianeta, poi si copia il quadratino di immagine contenente la stella nell'immagine del pianeta da elaborare, a fianco del pianeta stesso.

Occorre quindi cambiare la dimensione del frame in modo che diventi un quadrato di dimensione pari ad una potenza di due (356 o 512): ciò evita che nascano artefatti e accelera enormemente il processo.

Si seleziona infine la stella, e si lanciano alcune iterazioni (tipicamente tra 10 e 30) del comando RL. L'immagine si modifica (in meglio!) ad ogni iterazione (principalmente nelle prime), cosa che permette di sorvegliare il processo.

Nelle immagini a colori il tutto deve essere ripetuto per i tre canali del colore.

Cosa si può verificare, in pratica?

  • Il numero di iterazioni non è critico per il risultato. L'algoritmo infatti è studiato per convergere verso una soluzione unica, che minimizza il rumore e amplifica il dettaglio compatibile con la PSF data.
  • Con certe configurazioni ottiche, non c'è bisogno di usare 3 PSF, una per ogni colore. Nel caso delle webcam il canale G (che ha migliore risoluzione spaziale) che funziona ugualmente bene per R e B (in presenza di cromatismo, le cose potrebbero cambiare). Ciò va comunque verificato con almeno una prova sul campo.
  • Almeno in teoria, l'algoritmo di RL è stato creato espressamente per conservare l'informazione fotometrica, cosa che possiamo considerare valida almeno in prima approssimazione nel caso dei pianeti: non abbiamo pretese di precisione elevata e ci basta poter derivare informazioni ragionevoli sul colore.

IRIS: La procedura in dettaglio

Si parte da due filmati: il pianeta; la stella: non saturata, molti frames per avere una media estremamente pulita, possibilmente stessi settaggi che per il pianeta, nessun movimento della camera o della messa a fuoco tra le due riprese, possibilmente alla stessa altezza del pianeta sull'orizzonte (analoghe condizioni di seeing).

  • Pianeta: allineare, selezionare e sommare le immagini. Separare i tre canali ottenendo i files che chiamerò PR, PG, PB
  • Stella: si traduce il film in singoli frames (IRIS: Menu File->conversione AVI...) ottenendo i vari files R..., G..., e B... Se non c'è cromatismo, d'ora in avanti si lavora SOLO con G.
  • Stella: in IRIS, selezionare un quadrato centrato sulla stella e allineare il canale G tramite Menu Elaborazione-> Allineamento stellare...; tra le opzioni si può scegliere l'interpolazione spline, più precisa. Si specifica il nome della nuova serie di immagini, allineate: chiamiamole per esempio GR...
  • Si visualizza la finestrella di comando (bottone a righe in alto presso i menu) e si dà il comando BEST_STREHL GR NUMERO_IMM. Il primo parametro corrisponde al nome della serie di immagini, il secondo al loro numero. Questo comando produce una lista di immagini ordinate secondo l'altezza del picco centrale della PSF. Subito dopo: SELECT GR GRS, produce una serie GRS ordinata per qualità (la più bella al primo posto).
  • Occorre ora scegliere quante immagini sommare. In pratica, si può optare per una frazione del totale corrispondente a quella usata per il pianeta. Se si vuole avere un'idea più chiara, nel Menu Visualizzazione scegliere: Animazione... e osservare tutta la sequenza GRS, per capire a che punto si degrada "troppo".
  • Sommare il numero di immagini scelto: ADD_NORM GRS NUMERO_SELEZIONATE. Il risultato appare sullo schermo ed è molto istruttivo: se la serata è buona, si vede bene la centrica, un po' deteriorata dal seeing. Si mettono in evidenza difetti di collimazione, distorsioni, ecc.
  • Sottrarre il valore del fondo cielo: si seleziona col mouse una regione assolutamente priva di segnale stellare: bottone destro, scegliere "statistica" dal menu che appare. Il valore medio fornito è quello da sottrarre (menu elaborazione->sottrarre). Val la pena visualizzare la finestrella di uscita (menu analisi->mostra dati) dove i valori vengono scritti ulteriormente.
  • Salvare l'immagine finale ottenuta (PSF_G)
  • Scorrendo col mouse sull'immagine, la finestrella di I/O mostra le coordinate X,Y della sua posizione, espressa in pixel. Cliccando, la posizione viene registrata nella finestrella di uscita dati. E' un modo agevole di registrare le coordinate degli angoli della porzione di immagine che contiene la stella (X1, X2, Y1, Y2, con X1<X2 e Y1<Y2). Questa deve essere selezionata in modo da essere larga (e alta) 3-4 volte la PSF visibile, in modo da esser sicuri che "tutto entra" del segnale.
  • Fatto ciò, si carica il canale del pianeta che si vuole elaborare: P_R, ad esempio. Si sottrae accuratamente il fondo cielo come fatto sopra per la stella.
  • Ora viene il bello. Occorre "prendere" il quadratino dell'immagine contenente la stella, identificato sopra e copiarlo nell'immagine del pianeta. Il comando è COPY PSF_G X1 Y1 X2 Y2 (attenzione all'ordine), che significa "prendi il quadratino delle coordinate X..Y.. dall'immagine PSF_G e inseriscilo nell'immagine visualizzata". Problema: l'inserimento avviene nella stessa posizione, quindi può interferire andando a sovrapporsi al pianeta stesso! In tal caso, occorre preventivamente "spostare" il pianeta o la stella di un numero di pixel adeguato. Occorre allora ricaricare l'immagine da traslare, e ordinare: TRANS [DX] [DY] dove i parametri sono lo spostamento (positivo o negativo) in pixel. Normalmente basta spostarsi in una sola direzione. Meglio indicare un numero intero di pixel, così non ci saranno degradazioni dovute all'interpolazione.
  • Abbiamo ora l'immagine del pianeta con una stella "intrusa" a fianco, e il fondo cielo a media 0. Per applicare la deconvoluzione è meglio che l'immagine abbia i due lati pari ad una potenza di 2 (256, 512 o 1024 pixel). Con la tipica immagine webcam, 512 pixel sono un ottimo valore, che contiene quasi tutto il fotogramma in orizzontale, e lascia un abbondante margine intorno al pianeta e alla stella (cosa fortemente raccomandabile). Per ottenere tali dimesioni si deve "comandare": PADDING 512 512 e il gioco è fatto. Conviene salvare l'immagine, a questo punto, in modo da poterla recuperare per tentativi di elaborazione successivi.
  • Ci siamo. Il comando per la deconvoluzione Richardson Lucy è : RL NUMERO_ITERAZIONI COEFF. Il valore di COEFF può essere 0 (agoritmo originale) o >0. In quest'ultimo caso si applica allo stesso tempo una riduzione del rumore, ma la convergenza è più lenta e il risultato troppo "soft" (almeno così mi pare, ma ogni sperimentazione è valida). Il numero di iterazioni, in generale, è compreso tra 10 e 50. Si provi con 10, 20, 30... ad un certo punto l'immagine non migliora più ed inizia a uscire un po' di rumore.

Durante l'interazione, l'immagine si rinnova sullo schermo, ed è impressionante vedere l'evoluzione durante le prime 3-4 iterazioni.

  • Si ripete la procedura per i tre canali di colore.

Un commento finale: la procedura può apparire contorta, ma se praticata un paio di volte diventa routine (basta annotare la sequenza in forma concisa) ed è assai rapida. C'è lo svantaggio di dover acquisire un film in più, ma è relativo.

Il problema della PSF

Tutto il successo dell'operazione risiede nella scelta di una buona PSF (oltre che nella qualità delle immagini di partenza... ovviamente!).

Qualche volta, come nel caso di Giove, si può essere tentati di usare l'immagine di un satellite. I galileiani sono comodi e luminosi, ma in generale il risultato non sarà all'altezza poiché la loro dimensione non è trascurabile.

Si può essere anche tentati di utilizzare delle PSF "artificiali". Sia IRIS che MaximDL permettono di creare delle PSF "sintetiche" di forma gaussiana (una buona approssimazione di un'immagine stellare simmetrica) scegliendone solamente la larghezza. Questo parametro diventa quindi quello critico che determina il risultato. Spesso, si noterà che con una PSF leggermente più stretta dell'immagine stellare, i risultati saranno migliori...! Ma allora, non si torna in questo caso all'arbitrarietà degli altri metodi? In parte è vero! Occorre quindi molta cautela nell'introdurre elementi che alterano la normale procedura RL, soprattutto per le misure di luminosità.

In ogni caso, se la stella non è disponibile o la sua immagine è giudicata di cattiva qualità (ad esempio a causa di un cattivo inseguimento che rende l'allineamento difficoltoso) il ricorso a una stella "artificiale" può essere interessante.

Strumenti personali