28 Feb Lo STRETCH dell’immagine: da lineare a non lineare
Abbiamo visto nel precedente tutorial come rimuovere i gradienti e calibrare i colori, adesso é finalmente giunto il momento di trasformare la nostra immagine lineare, quindi nera, in una non lineare e visibile, per poi completare l’elaborazione e poterla finalmente ammirare. I metodi per eseguire lo stretch all’immagine sono diversi, qui esamineremo i seguenti:
ScreenTransferFunction (STF)
HistogramTransformation
MaskedStretch
ArcsinhStretch
AdaptiveStretch
Confronto tra i vari metodi
Tutti questi processi si trovano sotto al menù Process -> Intensity Transformations.
STF
Il primo metodo che andremo a vedere sfrutta lo ScreenTransferFunction, ovvero il process che abbiamo usato fino ad ora per visualizzare l’immagine lineare. Infatti possiamo rendere questo stretch permanente. Ovviamente l’STF esegue uno stretch matematico, ovvero eseguito sulla base del rapporto segnale/rumore dell’immagine, quindi non con tutte le nostre immagini il risultato dell’STF ci piacerà. Per far funzionare l’STF dobbiamo aprire un altro process importantissimo: l’HISTOGRAM TRANSFORMATION. All’interno del process andiamo a selezionare nell’apposita area la nostra immagine. poi usando il simbolo del nucleare andiamo ad attivare l’STF.
A questo dobbiamo trasferire lo stretch visuale dell’STF al process HistagramTransformation per rendere lo stretch reale ed effettivo, per farlo basta cliccare sul triangolo blu in basso a sinistra dell’STF e trascinare il tutto nella zona grigia sul fondo dell’HistogramTransformation. Vedremo subito apparire Nel riquadro in alto di quest’ultimo process un anteprima di come sarà il grafico rgb dell’immagine.
A questo punto dobbiamo disabilitare il nostro STF con il pulsante “enable” o il pulsante “reset” posti entrambi in basso a destra facendo così tornare l’immagine nera. Clicchiamo sul triangolino blu del process HistogramTransformation e trasciniamo il process sopra l’immagine.
Ed ecco qua che la nostra immagine e diventata non lineare. Infatti nonostante l’STF disattivato essa sarà visibile e stirata. Possiamo quindi chiudere entrambi i process usati e continuare con l’elaborazione.
HISTOGRAM TRANSFORMATION
Il process di Histogram Transformation può da solo essere usato per lo stertch dell’immagine. Infatti in quei casi in cui STF non ci soddisfa è bene andare noi, manualmente, a stirare l’immagine.
Apriamo quindi il process, selezioniamo la nostra immagine come abbiamo visto prima, e andiamo a guardare subito il process per conoscerlo meglio: notiamo due riquadri neri uno sopra ed uno sotto. In quello sotto io ho il grafico attuale dell’immagine, che in questo caso è tutto spostato verso sinistra, ovvero verso i neri, non a caso la nostra immagine è molto scura salvo qualche stellina visibile, sotto di esse si notano tre linguette, uno tutta a sinistra, una tutta a destra ed una al centro. Nel riquadro sopra io avrò un anteprima di come verrà il grafico dopo le stretch, inizialmente i grafici sono identici perchè non sto ancora applicando niente. Per stirare l’immagine io devo assicurarmi di aver selezionato lo spazio di lavoro RGB/K, prendo la linguetta al centro che mi corrisponde ai mezzitoni e la porto verso sinistra (1), vedrò subito che nel riquadro in alto di anteprima il grafico dell’immagine si sposterà verso destra. Posso anche avere un anteprima dell’immagine finale premendo il tasto “real time preview” (2), si aprirà una finestra dove vedrò in tempo reale come mi cambia la mia immagine. Per applicare trascino la linguetta blu in basso a sinistra sopra la mia immagine (3). Può capitare di confondersi e trascinare il process sopra la real time preview e non sopra l’immagine, in quel caso vedremo che non succederà niente.
L’immagine ottenuta però è decisamente ancora troppo nera, non ci basterà che ripetere l’operazione di nuovo. In automatico il process ci ripropone gli stessi settaggi quindi avremo di nuovo la linguetta dei mezzitoni spostata a sinistra e vedremo come l’immagine in real time preview è già modifica ed il grafico ancora più verso destra, se ci va bene possiamo applicare il process così com’è, se vogliamo invece ripartire da capo basterà premere il tasto di reset in basso a destra per azzerare il process. Nel nostro caso possiamo applicare subito un secondo stretch con gli stessi parametri del primo.
Vediamo adesso se è il caso o meno di eseguire anche un terzo stretch! Vediamo subito dalla real time preview che applicare un terzo stretch con gli stessi parametri mi porterà ad una immagine molto bianca, inoltre dal grafico si nota che la base destra del grafico rgb mi va “oltre” il bordo destro, ciò significa che sto bruciando una parte di bianchi, una parte un pò troppo consistente per lasciar correre. E’ quindi meglio fermarsi a due stretch, premo il tasto reset ed azzero tutto il process.
ma dopo 2 stretch la nostra immagine adesso è un pò troppo chiara, dobbiamo quindi chiudere i neri. Per farlo basterà prendere la linguetta corrispondente ai neri, ovvero quella a sinistra, e spostarla verso destro. Ma quanto spostarla? questa volta è più facile capire quanto, infatti andrà spostata fino alla base del grafico, stando attenti a non tagliare anche parte del grafico stesso altrimenti si perderebbe informazione utile. In aiuto ci viene quel riquadretto evidenziato in cui abbiamo il numero di pixel tagliati e la rispettiva % nel totale dell’immagine, come vedete nel mio caso io sto tagliando parte dell’informazione corrispondete a ben 15059 pixel che sembrano tanti ma in realtà sono solo lo 0,1292% del totale, senza effetti visibili sull’immagine totale, posso così applicare il process in tranquillità.
A volte la nostra immagine è troppo chiara, così bianca che per riportare il cielo nero devo tagliare una % troppo elevata di pixel. Ciò può essere dovuto ad uno stretch di troppo, di sicuro in questa immagine se avessimo effettuato il terzo stretch ci saremmo ritrovati in questa situazione, se vi capita basterà tornare al punto precedente dell’elaborazione semplicemente andando sulla tool bar dove troverete le due freccette di undo e redo che servono appunto a tornare alla fase precedente o successiva. Altre volte capita che vi sia difficoltà a chiudere i neri perchè l’immagine contiene molto rumore che crea così un grigiore nel fondo cielo. Per capire meglio questo caso vi invito ad andare al tutorial successivo dove vi mostrerò meglio questo fatto.
Una volta chiusi i neri mi basterà premere nuovamente il tasto reset per azzerare il process, che posso anche chiudere, e mi troverò l’immagine in fase non lineare pronta per l’ultima parte dell’elaborazione. Come vedete è leggermente diversa da quella proposta dal process STF, sta quindi a voi, al vostro gusto ed alla vostra esperienza, scegliere. Io per l’ultima fase dell’elaborazione userò proprio quest’ultima immagine.
MASKED STRETCH
Quando ho scritto questo articolo non avevo inizialmente parlato del Masked Stretch, per questo come esempio vi troverete un’immagine diversa. Ho deciso di aggiungere la sezione relativa al Masked Stretch dopo il mio viaggio in Namibia, accorgendomi di come lavorasse davvero bene in certi tipi di fotografia, decisamente meglio del semplice STF. Usarlo è davvero semplice, per prima cosa andiamo subito ad aprire il process

L’altra cosa che dobbiamo fare è andare a creare una preview nella nostra immagine contenete solo fondo cielo, stando attenti a non includere stelle o tenui nebulosità, come abbiamo già fatto col process background neutralization. Per farlo dovrò farmi aiutare dal process STF che mi permette di eseguire un finto stretch per visualizzare in anteprima l’immagine, e zommando mi cerco zone di solo fondo cielo

Adesso torniamo al process masked stretch, nella casella di “Background Reference” inseriamo la preview appena creata, inoltre per questa dimostrazione abbasso le iterazioni da 100 a 50 al fine di rendere più veloce il process (solitamente usare 100 è più che giusto)

Basterà applicare il processo all’immagine ed attendere il suo svolgimento, ricordando di disabilitare l’STF dall’immagine

beh, che dire, come primo tentativo l’immagine è già molto molto buona! Per capirlo meglio guardiamo il risultato ottenuto con STF e con Masked stretch

A sinistra abbiamo il risultato dello STF, mentre a destra il risultato appena ottenuto con Masked Stretch. Vediamo subito come le stelle risultino meno invadenti, colori più saturi e nebulosità più evidenti. La forza del masked stretch sta proprio qui, nel riuscire ad estrarre tutto il segnale possibile mantenendo le stelle piccole, inoltre grazie alla preview riesce a mantenere colori davvero ottimi, infatti basterebbe una passata di HVLG (rimozione dominante verde) per avere un’immagine già molto buona. Ma perchè accontentarsi dei valori di default? proviamo a modificarli per tentare di migliorare ancora l’immagine.
le mosse da fare sono due:
- Target background – i valori di default sono di 0,125, i valori consigliati variano da 0,100 a 0,200, alzando questo valore si va ad aumentare l’effetto dello stretch, abbassandolo andremo ad eseguire uno stretch minore.
- Clipping Fraction – con questo valore andiamo ad agire sul punto di nero dell’immagine, alzandolo avremo un’immagine con un fondo più scuro, con neri più chiusi, e di conseguenza un’immagine più contrastata, ma col rischio di tagliare nei neri parte di segnale debole e poco luminoso. l valore di default è di 0,0005, solitamente alzo o abbasso tale valore di un fattore 10 in base al risultato che cerco.
Proviamo quindi ad alzare il Target background a 0,160 ed il clipping fraction di 10 volte cioè a 0,005

riprendiamo la nostra immagine lineare e riapplichiamo il process

Il risultato è davvero buono, siamo solo allo stretch e già l’immagine appare molto buona. Il masked stretch non ha una formula che va bene per tutte le foto, dobbiamo fare qualche tentativo per trovare i giusti valori, ma una volta trovati il risultato non ci farà rimpiangere del tempo perso.
ARCSINH STRETCH
L’Arcsinh Stretch è un process molto semplice e veloce da usare. La sua interfaccia offre poche opzioni senza però far mancare nulla. Rispetto ad altri metodi di stretch, come STF o Histogram Transformation, l’Arcsinh Stretch preserva in maniera più curata i colori della nostra immagine, infatti quando si applica una stretch solitamente si tende a desaturare l’immagine, in particolare nelle zone di alte luci. Questo stretch preserva il colore dell’immagine che appare così più satura rispetto ad un semplice STF. Inoltre si fonda nell’uso della real-time preview mostrando in tempo reale i risultati, suo vero punto di forza.

Assicuriamoci prima di iniziare di non avere nessun STF attivo sulla nostra immagine. Come prima cosa è quindi importante attivare la nostra real-time preview cliccando sul cerchietto dedicato, e semplicemente andando ad incrementare il valore di stretch factor andremo ad applicare lo stretch alla nostra immagine. Il valore di stretch factor va da 1 a 1000, nella mia immagine che segue si vede come già con un fattore di 24 i risultati siano notevoli.

Il secondo, ed ultimo, parametro fondamentale per il nostro stretch è il black point. Esistono due diversi cursori per modificare il punto di nero che vanno interpretati come la messa a fuoco di un telescopio, il cursore superiore esegue aggiustamenti grossolani, il cursore inferiore esegue aggiustamenti più piccoli e precisi, come se fosse la ruota micrometrica del focheggiatore. Aumentando il valore di Black Point andrò a chiudere il punto di nero
Come vedete però nella mia immagine sono comparse delle macchie di colore la dove io avevo il nero. Non sono artefatti, sono pixel che sono stati tagliati, ovvero il cui valore è sceso a 0, e che si accendono mostrando le aree che stiamo tagliando perché abbiamo attiva l’opzione Highlight value clipped to zero.
Questa utile funzione ci mostrerà in tempo reale quali e quanti pixel stiamo tagliando, pertanto è secondo me utile averla sempre attiva, ma se la riteniamo opportuno ci basterà disattivarla per avere la nostra immagine pulita e senza pixel tagliati in evidenza
A questo punto, dato che non voglio nessun pixel tagliato nella mia immagine, vado con il cursore inferiore del black point a regolare in maniera fine tale valore fino a che avrò tutti i pixel leggibili, ovvero con valori rgb maggiori di zero. Il cursore della regolazione fine del punto di nero torna sempre in posizione centrale quando lo lasciamo, così da averlo sempre al centro ogni qualvolta lo si voglia usare.
Lo stretch sarebbe già concluso! Se il risultato ci piace possiamo semplicemente trasferire lo stretch alla nostra immagine trascinando su di essa il triangolino blu posto in basso a sinistra, come già visto in altri process.
Questo semplice process ci fornisce anche altre 3 semplici funzioni opzionali che possono essere d’aiuto in alcuni casi, la più interessante è sicuramente l’opzione estimate black point, cliccandola il process andrà a calcolarsi in automatico il suo punto di nero
Come vedete nel mio caso il punto di nero selezionato in modo automatico è andato a tagliare una grossa fetta di pixel, creando un “nero troppo nero”. Una delle cose che non amo dell’stf è proprio la sua aggressività nel chiudere troppo il punto di nero, caratteristica ritrovata in questa opzione un po’ troppo aggressiva per i miei gusti. Può però essere utile per avere una prima idea sul punto di nero, per poi andare manualmente a modificarlo con i due cursori a disposizione.
Le ultime due opzioni a disposizione sono altrettanto interessanti e le troviamo sotto i cursori della regolazione del black point
Protect highlights – questa opzione permette di salvaguardare le zone più luminose dalla saturazione, ovvero agisce come una sorta di maschera che va a ridurre gli effetti dello stretch nelle zone già molto luminose come ad esempio le stelle. Il suo uso può essere molto utile soprattutto quando si hanno stelle molto invadenti, ma uno stretch troppo forte con questa opzione attiva porta ad immagini prive di contrasti, piatte.
Use RGB working space – questa è forse l’opzione più complicata da capire e da spiegare. Quando è disattivata lavoriamo sostanzialmente nella luminanza, essa usa parti uguali dei 3 canali rgb, ovvero 1/3 R 1/3 G e 1/3 B. Attivando questa opzione invece si andrà a mantenere le proporzioni originali tra i 3 canali, pur mantenendo la stesso identico bilanciamento del bianco e calibrazione dei colori. In pratica ciò comporta che i colori generali dell’immagine saranno identici, ma attivandola si avrà una enfatizzazione delle zone dell’immagine a maggior segnale, come le zone ad emissione di Ha di una nebulosa a emissione, o le parti azzurre di una nebulosa a riflessione. Sfruttate la real-time preview per osservare come varia l’immagine attivando tale opzione e usatela se il risultato vi piace. Nel mio caso specifico attivare tale opzione non porta evidenti cambiamenti, come potete vedere voi stessi:
A sinistra immagine con Use RGB working space disattivato, a destra immagine con la stessa opzione attivata.
Con questo nuovo process è davvero facile eseguire uno stretch, ma è anche piuttosto facile esagerare se non si sta attenti a come si usa lo stretch factor. È facile che ci si faccia prendere la mano, finendo per saturare completamente le stelle e portare alla luce rumore di fondo. È quindi consigliabile andare per gradi, applicando più volte il process in maniera iterativa. Così non solo avremo più controllo sullo stretch, ma avremo anche un risultato più contrastato dell’immagine stessa. Vediamo un esempio: sotto vi mostro a sinistra il risultato di un singolo stretch con fattore a 30, a destra il risultato di 3 stretch con fattori di 3 al primo, 3 al secondo e 3,3 al terzo stretch, ottenendo uno stretch complessivo simile a quello precedente (infatti 3x3x3,3 = 29,7)
Come vedete nonostante lo stretch finale sia eseguito con fattori praticamente identici (30 e 29,7) il risultato è molto diverso, lo stretch eseguito in maniera iterativa ha prodotto un’immagine molto più contrastata. Ne deriva che questo process è solo in apparenza semplice, permette infatti una personalizzazione dello stretch unica. Personalmente in questo caso l’immagine ottenuta in maniera iterativa mi pare un po’ troppo contrastata e luminosa, ho usato uno stretch factor finale troppo alto ma serviva da confronto con l’altra, affinando meglio lo stretch e abbassando i valori sono sicuro che il metodo iterativo potrebbe portare a risultati migliori in quanto l’immagine acquista un contrasto naturale che sarebbe poi necessario andare ad aggiungere con altri metodi.
Concludo con un paragone tra l’Arcsinh Stretch e l’STF
Come detto in principio questo stretch riesce a mantenere i colori dell’immagine più saturi, a volte anche troppo, e in questo confronto mi pare evidente.
ADAPTIVE STRETCH
Per completezza segnalo un ultimo process per eseguire stretch alle nostre immagini: l’Adaptive Stretch. Non mi soffermerò molto su questo metodo di stretch dato che lo ritengo nettamente peggiore di tutti gli altri metodi, ma nessuno vi impedisce di usarlo. Anche questo tipo di stretch si basa sulla real-time preview come abbiamo visto per altri stretch, vedremo i nostri risultati in tempo reale semplicemente andando a modificare il valore di Noise Threshold, sia usando il cursore che andando a modificare l’esponente della funzione, ovvero il valore nella finestrina a destra del cursore, nella mia foto impostato a -3. Personalmente non trovo questo stretch all’altezza degli altri perché crea risultati davvero troppo contrastati, con neri troppo neri e bianchi completamente bruciati. Ho perso decisamente troppo tempo tentando di ottenere risultati accettabili con questo process, andando a sfruttare anche l’opzione di protezione del contrasto, senza mai vedere alcun risultato valido. Ho del tutto escluso tale process dal mio workflow.
CONFRONTO TRA I VARI METODI
L’immagine seguente mostra 4 diversi risultati, ottenuti con i 4 process descritti sopra, applicati ad una stessa immagine di partenza
A guardare questa immagine sembra piuttosto scontato identificare il metodo migliore. L’ultima immagine, quella ottenuta con ArcsinhStretch, risulta nettamente superiore alle altre, sia per colori, che contrasti e quantità di segnale. Ma questo risultato può essere totalmente diverso in altre tipologie di immagini rendendo questo process poco utilizzabile. Come possiamo scegliere allora il giusto metodo?
Non esiste una formula magica per capire subito quale metodo usare, ma con l’esperienza e la pazienza di far numerose prove si può arrivare a risultati strepitosi. Da quando uso questi process mi son fatto questa idea a riguardo:
L’stf è un ottimo strumento per visualizzare immagini lineari, ma non lo uso mai per renderle non lineari. esso infatti tende sempre a creare stretch molto duri, con contrasti forti, un punto di nero molto spinto ed una grana marcata. Histogram Transformation è il processo che di più utilizzo, anche se ad uno primo approccio si presenta più complicatorispetto ad altri stretch, Con esso ho però il pieno controllo dello stretch e con un pò di occhio si riesce sempre a trovare un giusto equilibrio tra segnale, rumore e punto di nero. Masked stretch è la mia scelta quando devo rendere non lineari immagini a grande campo e con una grande densità stellare, come quella presa in esempio sopra, ma crea artefatti difficili da ridurre quando grandi stelle sono presenti all’interno del campo. Arcsinh Stretch è un grande processo, abbiamo però già parlato della sua eccessiva saturazione nei colori. Inoltre nessuno ci vieta di andare ad usare più metodi in una stessa immagine, ad esempio dando un primo colpo di stretch con masked stretch o arcsinh stretch, per poi rifinire e concludere il passaggio a non lineare con histogram transformation.
Possiamo quindi procedere al tutorial successivo con la vecchia immagine dell’Elmo di Thor per vedere come concludere l’elaborazione delle nostre immagini.