darktable utilizza la gestione del colore durante tutto il flusso di lavoro:
Input color specifications are taken from embedded or user supplied ICC profiles or, in the case of raw files, from a library of camera specific color matrices.
darktable automatically reads the display profile of your monitor (if properly configured) for an accurate color rendition on screen. Multi-screen setups are fully supported as long as a system service such as colord is in place and properly set up to inform darktable about the correct monitor profile.
Output files can be encoded in one of darktable's built-in profiles, including sRGB, Adobe, ProPhoto, Rec. 2020, Rec. 709 and other standard RGB color spaces, or into a color space supplied by the user as an ICC profile.
In order for darktable to accurately render colors on screen it needs to find the correct display profile of your monitor. In general this requires your monitor to be properly calibrated and profiled, and it needs the profile to be correctly installed on your system. darktable queries your X display server's xatom as well as the system service colord (if available) for the right profile. If needed you can enforce a specific method in the miscellaneous section of the preferences dialog (see Sezione 8.10, «Miscellaneous»).
To investigate your display profile configuration you can call the
darktable-cmstest
binary (Linux only) which prints out useful information like
profile name per monitor and tells you if the system is correctly configured (see
Sezione 1.1.6, «Comando darktable-cmstest
»).
In rari casi potrebbe essere necessario dover selezionare manualmente il profilo del vostro monitor. Questo è possibile utilizzando i pulsanti Simulazione a schermo e Controllo gamma nella vista Camera oscura (vedi Sezione 3.3.11.5, «Prova di stampa» e Sezione 3.3.11.6, «Controllo gamma»), oppure Profilo schermo nella vista tavolo luminoso (vedi Sezione 2.1, «Panoramica»).
darktable può interpretare i colori sia attraverso un algoritmo interno che utilizzando la libreria esterna LittleCMS2. Il metodo interno a darktable è molto più veloce di quello esterno. L'opzione esterna è comunque una valida opzione alternativa ed in alcuni casi potrebbe restituirvi colori leggermente più accurati.
A configuration parameter «always use LittleCMS 2 to apply output color profile» in the processing section of the preferences dialog (see Sezione 8.6, «Processing») defines which method is used. Note, however, that if the given ICC is LUT-based, or contains both a LUT and a matrix, darktable will use LittleCMS 2 to render the colors regardless of that configuration parameter's value.
Se viene attivata l'interpretazione del colore con LittleCMS2 (vedi Sezione 3.2.6.2, «Metodi di interpretazione») è possibile definire come comportarsi con i colori fuori gamma quando si passa da uno spazio colore ad un altro. Un'opzione nella finestra di esportazione (vedi Sezione 2.3.14, «Esporta selezionati»), il modulo Profilo colore di uscita (vedi Sezione 3.4.1.2, «Profilo colore di uscita») e l'opzione Simulazione a schermo (vedi Sezione 3.3.11.5, «Prova di stampa») possono essere utilizzate alternativamente per scegliere uno dei seguenti metodi di interpretazione:
percettivo | Adatto alle immagini perché mantiene la posizione relativa dei colori. solitamente questa è la scelta migliore. |
Colorimetrico relativo | I colori fuori gamma vengono convertiti in colori con la stessa luminosità ma con differente saturazione. Gli altri colori non vengono toccati. |
saturazione | La saturazione viene mantenuta mentre la luminosità viene leggermente modificata. |
Colorimetrico assoluto | Mantiene il punto di bianco. |
darktable's input images are either RGB files (like JPEGs or TIFFs) or camera raws – both represent colors by a combination of red, green and blue. Most of the actual image processing takes place in a large RGB "working profile" space, with some (mostly older) modules internally working in the CIELAB color space. The final output of the image processing pipeline is in an RGB space shaped for either the monitor display or the output file.
This process implies that the pixelpipe has two fixed color conversion steps: input color profile and output color profile. In addition there is the demosaic step for raw images, where the colors of each pixel are reconstructed by interpolation.
Each module has a position in the pixelpipe which tells you which color space the module lives in:
fino a demosaicizzazione | Un'immagine in formato raw contiene i colori solo in forma latente. Ogni pixel è accompagnato da informazioni riguardanti la luminosità e il colore per un solo colore base. Ricordate che alcuni moduli possono agire solo su immagini non raw ovvero solo su immagini in formato RGB con informazioni complete per tutti e tre i canali colore. | |
tra demosaicizzazione e profilo colore di ingresso | Immagine in formato RGB con lo spazio colore di uno specifico modello di macchina fotografica o file di input. | |
tra profilo colore di ingresso e profilo colore di uscita | Image is in the space defined by the selected working profile (linear Rec2020 RGB by default). As darktable processes images in 4x32-bit floating point buffers, we can handle large working color spaces without risking banding or tonal breaks. | |
dopo profilo colore di uscita | Un'immagine in RGB è definita dal display selezionato o da un profilo ICC di output. |
In teoria i componenti individuali di ogni colore sono racchiusi tra un valore minimo ed uno massimo. Ad esempio l'intensità di un singolo canale rosso, verde o blu in RGB è compresa in una gamma da 0% a 100% (ovvero tra 0,0 e 1,0). Allo stesso modo il canale L nello spazio Lab è confinato tra il valore 0 (nero puro) e 100 (bianco puro).
In practice sometimes the image processing steps in darktable's modules can lead to values which lie outside of these confined ranges. In fact even the well established color matrices, which convert from RGB to Lab, may sometimes produce pixels with negative L values.
I pixel con questi particolari valori vengono definiti «colori slegati». E' possibile tosare (cioè confinare) questi valori all'interno della gamma gestibile durante ogni processo di elaborazione. Tuttavia è stato notato che è preferibile non effettuare questa forzatura perché la stessa è soggetta alla creazione di artefatti e si preferisce quindi trattare questi pixel come ogni altro colore.
In darktable non ci sono ragioni tecniche che necessitano di tagli: dal momento che il software utilizza calcoli a virgola mobile per tutte le operazioni di elaborazione, i valori relativi ai colori slegati possono essere trasferiti attraverso la pixelpipe così come sono a patto che il modulo che effettuerà l'ultima conversione sia poi in grado di generare il colore più adeguato che viene richiesto dallo spazio colore di output. Per questo motivo darktable non effettua mai il taglio dei colori slegati finché gli algoritmi di elaborazione dei colori lo permettono.
Ci sono alcune situazioni, fortunatamente rare, che possono purtroppo portare a risultati inaspettati a meno che l'utente non provveda a prendere alcuni provvedimenti. Alcuni moduli nello spazio Lab come livelli e monocromia presuppongono che il canale L contenga tutte le informazioni relative alla luminosità e che i canali a e b rappresentino unicamente la saturazione e la tonalità. I colori slegati con valori negativi del canale L sono particolarmente ostici per questi moduli e possono portare alla creazione di pixel neri.
It has been found that highly saturated blue light sources in the image frame are likely candidates for pixels with negative L values. If you are engaged in stage photography you should pay close attention to such lights appearing in images.
Per ridurre questo problema il modulo Profilo colore di ingresso (vedi Sezione 3.4.1.11, «Profilo colore di ingresso») ha un'opzione chiamata Taglio gamma. Normalmente questa opzione è disabilitata ma può essere attivata nel caso in cui siano visibili artefatti. A seconda delle impostazioni i colori verranno confinati all'interno di una delle gamme RGB disponibili. In effetti i pixel neri vengono annullati anche a costo di perdere un po' di gamma colore. Vedi Sezione 3.4.1.11, «Profilo colore di ingresso» per un esempio.