10 ottobre 2015

Intervista all'autore di PhotoFlow


Grazie alla gentile intercessione di Dario M. quest'oggi abbiamo il piacere di intervistare Andrea, l'autore di PhotoFlow, un nuovo ma promettente editor RAW open source e multi piattaforma che farà la gioia di tutti gli appassionati di fotografia.
Buona lettura! 



1) Prima cosa, alcune domande su te stesso. Come ti chiami? Che lavoro fai?

Puoi chiamarmi Andrea, sono un umile servitore della causa del Software Libero.



2) Come sei entrato nel mondo della programmazione?

Mi sono interessato alla programmazione fin dall'inizio dell'università, quando ho capito che i computers ed il software avrebbero avuto un ruolo cruciale nella mia vita professionale. Oggi lo sviluppo di codice fa parte del mio lavoro quotidiano, ma sopratutto in ambito scientifico. L'image processing è una sorta di hobby, piuttosto recente.



3) E nel mondo della fotografia?

La mia prima fotocamera è stata una Olympus XA (ricordate il mitico "ovetto"?), quando avevo tra i 6 e i 10 anni di età... troppo lontano nel tempo per ricordarmene esattamente. Ho iniziato fotografando un po' qualunque cosa, come ogni altro bambino con una macchina fotografica in mano!

Appena ebbi abbastanza soldi in tasca comprai la mia prima reflex, una Pentax con uno zoom 35-70mm di base, alla quale aggiunsi tre lenti di ingrandimento... e fu così che entrai nell'affascinante mondo della macro-fotografia.

Circa dieci anni fa ho comprato la mia prima (ed unica) reflex digitale, una gloriosa Nikon D300 che funziona tuttora a meraviglia. La fotografia digitale è stata una rivelazione: ho finalmente potuto metter insieme le mie due passioni, la fotografia e la programmazione.



4) Dicci qualcosa in più su Photoflow? Come hai iniziato? Perché ha scelto di non contribuire allo sviluppo di qualche altro software come Darktable / RawTherapee ecc? Quali sono i punti di forza e le caratteristiche esclusive Photoflow? Perché un utente comune dovrebbe sceglierlo?

Il modo di procedere tipico di un fotografo che usa Linux è quello di iniziare a processare le immagini in uno sviluppatore di file RAW come Rawtherapee o Darktable, per poi finalizzare il lavoro in GIMP. Ciò è dovuto semplicemente al fatto che nessuno degli editor di immagini Open Source fornisce allo stesso tempo uno sviluppo di alta qualità dei file RAW, livelli di regolazione e modifiche locali non distruttive. Ed è qui che PhotoFlow entra in gioco...

Mi ricordo di aver seguito tempo fa una discussione sul forum di Rawtherapee, a proposito della possibilità di aggiungere il supporto per i "layer". La conclusione fu semplice: implicherebbe una riscrittura di buona parte del "motore di calcolo", ovvero il cuore di un editor di immagini. La situazione attuale di Darktable è un poco migliore, visto che supporta le modifiche locali con maschere di fusione per molti strumenti, tuttavia l'aggiunta del supporto per i "layer" non è nei piani degli sviluppatori.
Oltretutto sono entrambi limitati al trattamento di immagini singole. Per esempio non permettono in alcun modo di combinare due o più esposizioni in una singola immagine con gamma dinamica estesa.

Quindi, ho deciso di affrontare il problema da un lato diverso: definire il mio editor di foto ideale, basarsi su codice libero esistente per cominciare, e incorporare per quanto possibile parti di Rawtherapee e Darktable, giusto per evitare di reinventare la ruota.

Per prima cosa, quali potrebbero essere le caratteristiche di un editor di immagini ideale? Ecco alcune idee:
  • deve permettere di sviluppare i file RAW 
  • deve essere non distruttivo 
  • deve fornire una pre-visaullizzazione in tempo reale del risultato finale 
  • deve essere capace di combinare immagini multiple 
  • deve includere livelli di regolazione (adjustment layers) e gruppi di livelli, per poter realizzare effetti complessi 
  • deve permettere modifiche locali attraverso maschere di fusione 
  • deve permettere il trattamento di immagini piuttosto grandi (100 mega-pixels o piu') senza "uccidere" il computer
Il primo problema che ho dovuto affrontare è stato la scrittura del motore di calcolo del programma. Non sono un programmatore professionista, e PhotoFlow è sviluppato interamente durante il mio limitato tempo libero, quindi non potevo permettermi un anno o più di lavoro per sviluppare un motore veloce ed ottimizzato.

Fortunatamente, un giorno mi sono imbattuto in una vera "perla" informatica chiamata VIPS, una libreria di image processing sviluppata originariamente per il trattamento di immagini multi-spettrali di quadri antichi. VIPS e' strutturato in modo tale da poter trattare immagini di grandi dimensioni in maniera molto efficiente, è intrinsecamente multi-threaded, e fornisce uno dei framework più veloci ed ottimizzati sul mercato Open Source.

Non deve sorprendere che Wikipedia l'abbia scelto per ridimensionare immagini di grandi dimensioni (http://blog.wikimedia.org/2013/09/12/vipsscaler-implementation-wikimedia-sites/). Non meno importante, la libreria è tuttora attivamente sviluppata e gli autori sono molto attenti alle richieste degli utenti. Dopo qualche scambio di email, decisi senza esitazione di usare VIPS come base di partenza per PhotoFlow.

Il resto del programma è interamente costruito attorno a VIPS, e riutilizza codice esistente ogni volta che è possibile. Per esempio, la porzione di sviluppo dei file RAW è in gran parte derivata da Darktable (per quanto riguarda la decodifica dei file e le conversioni di colore) e RawTherapee (per gli algoritmi di demosaicing Amaze, LMMSE e IGV).

Per quanto riguarda il ritocco delle immagini, PhotoFlow include in numero crescente di filtri dell'eccellente pacchetto G'MIC (blur e riduzione del rumore, emulazione di pellicole, edge detection, etc...).

Per finire, PhotoFlow salva dei file "sidecar" in formato XML, senza apportare modifiche dirette alle immagini iniziali. I file XML registrano semplicemente tutte le modifiche apportate, che vengono riprodotte da PhotoFlow ogni volta che il file viene riaperto. Di conseguenza, ogni aspetto del lavoro di editing può essere modificato e perfezionato senza alcun limite.

Per concludere, PhotoFlow potrebbe rimpiazzare sia il vostro editor RAW preferito che GIMP nel lavoro di editing fotografico giornaliero, quindi perché non provarlo?


5) Sul repository Git ho visto che ci sono sia l'OSX DMG che i binari Arch Linux. Suppongo che usi sia OSX che Linux. Se ho ragione, quali sono i difetti di Linux rispetto al OSX nel settore della fotografia?
Uso OSX per il lavoro, ma Linux per tutto il resto (la mia TV di casa è collegata a un mini-PC con MythBuntu...). Onestamente, per il lavoro di ritocco fotografico posso passare da un sistema all'altro senza notare differenze, salvo forse per il supporto alle stampanti che è migliore su OSX.


6) Domanda difficile: Nikon o Canon? Quale preferisci?
Nikon, che domande! Ho quasi sempre avuto macchine e lenti Nikon, inclusa una magnifica F4 di seconda mano, prima di comprare la D300 che uso ancor oggi dopo quasi 10 anni (nell'era digitale, 10 anni sono come un secolo).

Nessun commento:

Posta un commento

Licenza
Licenza Creative Commons

Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported. Questo blog non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001

Disclaimer immagini

Le immagini utilizzate in questo blog appartengono ai loro rispettivi autori e sono utilizzati per scopi educativi, personali e senza scopo di lucro. Ogni eventuale violazione del copyright non è intenzionale, ma se si riconosce un'immagine protetta da copyright, fatemelo sapere qui, e sarò lieto di aggiungere i credits o modificarla o rimuoverla.

Disclaimer images

Images used on this blog belong to their respective authors and are used for educational, personal and no profit purposes. Any eventual copyright infringement is not intentional, but if you recognize a copyrighted image, please let me know here, and I'll happily provide to add the right credits or modify or remove it.