darktable page lede image
darktable page lede image

Capitolo 1. Panoramica

darktable è un'applicazione open source per la gestione del flusso di lavoro fotografico e per lo sviluppo raw, un tavolo luminoso e una camera oscura virtuali per fotografi.

It manages your database of digital negatives imported from various sources (including tethered shooting), lets you view them through a zoomable lighttable, provides a rich collection of modules for developing images, allows exporting the results to standard physical and/or digital media or demonstrating them as slides on a screen. All these operations are performed via fully color-managed workflows.

Funzionalità principali
  • darktable gira su GNU/Linux / GTK3, Mac OS X / macports, BSD, Windows e Solaris 11 / GTK3.

  • Editing completamente non distruttivo.

  • Tutte le funzioni principali di darktable operano su buffer da 4x32-bit a virgola mobile per pixel per garantire un'elaborazione con la più alta accuratezza e prevenire la scalettatura e i salti di colore.

  • darktable fa ampio uso delle istruzioni Streaming SIMD Extensions 2 (SSE2) della CPU per velocizzare l'elaborazione. Infatti darktable gira soltanto su una CPU che supporti SSE2 oppure su CPU ARM64.

  • Accelerazione GPU attraverso OpenCL (rilevamento e attivazione all'avvio).

  • Image processing modules operate in CIELab and several popular RGB model-based color spaces, which are much larger than the gamut of modern displays, printers or even human vision.

  • Display con gestione colore completa, prove colore (soft proofing) e controllo della gamma. Supporto per l'esportazione nei profili ICC integrati nel programma: sRGB, Adobe RGB, XYZ e RGB lineare.

  • Il modulo Raccolta Immagini permette di eseguire ricerche flessibili nel database, cercare le immagini per etichette, valutazione (stelle), etichette colore e altro ancora. Filtrare e ordinare le proprie raccolte all'interno di una ricerca di base o l'aggiunta di etichette sono strumenti utili nel flusso di lavoro fotografico di ogni giorno.

  • Import a variety of standard raw, low and high dynamic range image formats (e.g. CR2, DNG, JPEG, OpenEXR, PFM).

  • darktable ha un'interfaccia utente a latenza zero zoomabile grazie alla cache software multi-livello.

  • Scatto remoto (tethering).

  • darktable can export developed images as low or high dynamic range files (JPEG, PNG, TIFF, PDF, PFM, EXR) to local disk storage, web albums, LaTeX book template, email attachments, and can generate a simple html-based web gallery.

  • darktable usa sia i file sidecar XMP sia il suo veloce database per salvare i metadati e le impostazioni di elaborazione. Tutti i dati Exif sono letti e scritti tramite libexiv2.

  • darktable comes with more than 60 image processing modules which cover correction of digital image imperfections and common defects, basic adjustments, tonal value changes, color manipulation, as well as enhancements and artistic effects.

  • You can instantiate most modules multiple times and control the order in which they get applied.

  • A powerful mask feature gives you fine control over how the module affects complete image or its specific areas. You can select image areas by drawing a mask using various shapes, or by defining a parametric mask based on pixel values.

  • Flexibility of masks is further extended by the possibility to apply them in different blending modes and reuse the same mask in several modules.

  • darktable introduces a highly efficient, yet simple «single-click» denoiser that always just works. It's designed as a module where the denoising performance only depends on camera and ISO setting. A database of profiles contains parameters for well above 200 popular camera models.

  • darktable include una versatile interfaccia di script che permette di migliorarne le funzionalità attraverso il linguaggio di script Lua.

  • Le immagini associate a coordinate geografiche possono essere visualizzate su una mappa personalizzabile a vostra scelta. Le coordinate geografiche possono essere assegnate alle immagini sia manualmente trascinandole sulla mappa che automaticamente importando un tracciato GPX.

  • darktable ha una funzione di slideshow integrata che permette di visualizzare la vostra collezione di immagini a tutto schermo.

  • Un versatile modulo di stampa vi permette di inviare le immagini ad una stampante collegata con pieno supporto per la gestione del colore.

1.1. Avvio del programma

darktable comprende due file binari: la variante standard ad interfaccia grafica che si avvia col comando darktable e una variante a linea di comando che si avvia col comando darktable-cli. Inoltre darktable viene fornito con altri binari per compiti specializzati.

1.1.1. Comando darktable

Questo comando avvia darktable con la sua interfaccia grafica e tutte le sue funzionalità; è il modo standard per usare darktable.

darktable accetta i seguenti parametri da linea di comando:

darktable [-d {all,cache,camctl,camsupport,control,dev,
                fswatch,imageio,input,ioporder,lighttable,lua,masks,
                memory,nan,opencl,params,perf,pwstorage,print,signal,sql,undo}]
          [<input file>|<image folder>]
          [--version]
          [--disable-opencl]
          [--library <library file>]
          [--datadir <data directory>]
          [--moduledir <module directory>]
          [--tmpdir <tmp directory>]
          [--configdir <user config directory>]
          [--cachedir <user cache directory>]
          [--localedir <locale directory>]
          [--luacmd <lua command>]
          [--noiseprofiles <noiseprofiles json file>]
          [--conf <key>=<value>]

Tutti i parametri sono opzionali; nella maggior parte dei casi gli utenti avvieranno darktable senza ulteriori parametri (sarà darktable a scegliere i valori predefiniti più adatti).

-d

Questa opzione abilita l'output di debug nel terminale. Esistono vari sottosistemi di darktable e il debug di ognuno di questi può essere attivato separatamente. Si può usare questa opzione varie volte se si desidera fare il debug di più di un sottosistema.

<file di input>|<cartella immagini>

Si può specificare il nome di un'immagine o di una cartella che contiene immagini. Se si indica un file, darktable apre quel file nella vista camera oscura. Se si indica una cartella, darktable si avvia nella vista Tavolo Luminoso col contenuto di quella cartella come attuale collezione.

--version

Questa opzione permette di visualizzare la versione di darktable in uso, un messaggio di Copyright e altre informazioni utili.

--disable-opencl

Questa opzione impedisce a darktable di inizializzare il sottosistema OpenCL. Usare questa opzione nel caso in cui darktable si blocchi all'avvio a causa di un'implementazione difettosa di OpenCL.

--library <file della libreria>

darktable conserva le informazioni sulle immagini in un database sqlite, per garantire un rapido accesso. La posizione predefinita di questo file è «$HOME/.config/darktable/library.db». Si può indicare una posizione diversa, per esempio nel caso in cui si voglia fare qualche esperimento senza compromettere il file library.db originale. Se il file database non esiste, darktable lo crea. Si può anche specificare «:memory:» come file della libreria e in questo caso il database viene salvato nella memoria di sistema - tutte le modifiche vengono scartate quando si chiude darktable.

All'avvio darktable bloccherà la libreria riservandola all'utente corrente. Questa operazione viene effettuata scrivendo l'identificatore del processo corrente (PID) in un file di lock «<file libreria>.lock» appena dopo la libreria specificata. Nel caso in cui darktable dovesse trovare un file di lock esistente terminerà immediatamente.

--datadir <cartella dei dati>

Questa opzione definisce la directory in cui darktable trova i suoi dati di runtime. La posizione predefinita dipende dall'installazione. I percorsi tipici sono «/opt/darktable/share/darktable/» e «/usr/share/darktable/».

--moduledir <cartella dei moduli>

darktable ha una struttura modulare e organizza i suoi moduli in librerie condivise da caricare al momento dell'esecuzione del programma. Con questa opzione si indica a darktable dove cercare queste librerie condivise. La posizione predefinita dipende dall'installazione. I percorsi tipici sono «/opt/darktable/lib64/darktable/» e «/usr/lib64/darktable/».

--tmpdir <cartella temporanea>

La cartella in cui darktable salva i suoi file temporanei. Se questa opzione non è specificata, darktable usa la cartella predefinita di sistema.

--configdir <cartella di configurazione>

Questa opzione definisce la cartella in cui darktable salva la configurazione specifica dell'utente. Il percorso predefinito è «$HOME/.config/darktable/».

--cachedir <cartella cache>

darktable tiene una memoria cache delle miniature per un'anteprima più rapida e una dei binari OpenCL precompilati per un avvio più veloce. Il percorso predefinito della cache è «$HOME/.cache/darktable/». Possono esistere molteplici cache delle miniature in parallelo, una per ogni database delle miniature.

--localedir <cartella localizzazione>

La cartella in cui darktable trova le traduzioni di ogni lingua. La posizione predefinita dipende dall'installazione. I percorsi tipici sono «/opt/darktable/share/locale/» e «/usr/share/locale/».

--luacmd <comando Lua>

Una stringa che contiene comandi Lua da eseguire dopo l'inizializzazione di Lua stesso. Questi comandi verranno eseguiti dopo il file «luarc» dell'utente.

Se Lua non è stato compilato in darktable, questa opzione verrà accettata ma non produrrà nessun risultato.

--noiseprofiles <file json contenente il profilo del rumore>

Questa opzione definisce la cartella in cui darktable trova i dati per la riduzione del rumore. La posizione predefinita dipende dall'installazione. I percorsi tipici sono «/opt/darktable/share/darktable/noiseprofile.json» e «/usr/share/darktable/noiseprofile.json».

--conf <proprietà>=<valore>

darktable supporta un'ampia gamma di parametri di configurazione che l'utente definisce in «darktablerc» che è il file di configurazione di darktable nella cartella dell'utente. Si possono scavalcare temporaneamente le impostazioni individuali usando questa opzione nella linea di comando: tuttavia, queste impostazioni non saranno salvate in «darktablerc».

1.1.2. Comando darktable-cli

Questo comando avvia l'interfaccia a linea di comando che permette di esportare le immagini.

Questa variante non avvia nessun display ma opera in pura modalità console, senza utilizzare X11, wayland, ecc. è una modalità utile per avviare lavori in background su di un server.

darktable-cli accetta i seguenti parametri da linea di comando:

darktable-cli <input file>|<image folder>
              [<xmp file>]
              <output file>
              [--width <max width>]
              [--height <max height>]
              [--bpp <bpp>]
              [--hq <0|1|true|false>]
              [--upscale <0|1|true|false>]
              [--style <style name>]
              [--style-overwrite]
              [--verbose]
              [--core <darktable options>]

L'utente deve specificare il nome del file di input e quello del file di output. Tutti gli altri parametri sono opzionali.

<file di input>

Il nome del file di input da esportare o il nome di una cartella contenente immagini di input da esportare.

<file xmp>

Il nome (opzionale) del file sidecar XMP contenente i dati della coda di sviluppo da applicare durante l'esportazione. Se questa opzione non è specificata, darktable cercherà un file XMP che appartiene al file di input.

<file di output>

Il nome del file di output. darktable ottiene il formato del file di esportazione dall'estensione del file stesso. Nel modulo di esportazione di darktable potete usare tutte le variabili disponibili all'interno di darktable per il nome del file di output (vedi Sezione 2.3.14, «Esporta selezionati»). Ovviamente questo dato è obbligatorio se utilizzate il programma all'interno di una cartella che contiene immagini multiple.

--width <larghezza massima>

Questo parametro (opzionale) permette di limitare la larghezza dell'immagine esportata a un certo numero di pixel.

--height <altezza massima>

Questo parametro (opzionale) permette di limitare l'altezza dell'immagine esportata a un certo numero di pixel.

--bpp <bpp>

Un parametro opzionale per definire la profondità di bit dell'immagine esportata; i valori permessi dipendono dal formato del file. Attualmente questa opzione non è ancora funzionante. Se si deve definire la profondità di bit, occorre usare il seguente trucco:

--core
--conf plugins/imageio/format/<FORMAT>/bpp=<VALUE>

dove <FORMATO> è il nome del formato di output scelto.

--hq <0|1|true|false>

A flag that defines whether to use high quality resampling during export (see Sezione 8.4, «Camera oscura»). Defaults to true.

--upscale <0|1|true|false>

Un parametro che definisce se utilizzare il ridimensionamento in fase di export. Normalmente disattivato.

--style <nome stile>

Specifica il nome di uno stile da applicare al momento dell'esportazione. Se viene specificato uno stile, deve anche essere indicato il percorso della directory di configurazione di darktable (ad es. --core --configdir ~/.config/darktable). Predefinito non precisare uno stile.

--style-overwrite

Lo stile specificato sovrascrive la coda di sviluppo invece di accodarvisi.

--verbose

Attiva la verbosità dell'output.

--core <opzioni darktable>

Tutti i parametri da linea di comando che seguono l'opzione «--core» sono passati al core di darktable e gestiti come parametri standard. Vedi Sezione 1.1.1, «Comando darktable» per una descrizione dettagliata.

1.1.3. Comando darktable-generate-cache

Questo comando aggiorna la cache delle miniature. Potete richiamare questo programma per generare tutte le miniature mancanti in background quando il vostro computer è inattivo.

darktable-generate-cache accetta i seguenti parametri da linea di comando:

darktable-generate-cache
              [-h, --help]
              [--version]
              [--min-mip <0-7>] [-m, --max-mip <0 - 7>]
              [--min-imgid <N>] [--max-imgid <N>]
              [--core <darktable options>]

Tutti i parametri sono opzionali. Se avviato senza parametri darktable-generate-cache utilizzerà i valori predefiniti più adatti.

-h, --help

Fornisce informazioni relative all'utilizzo del software.

--version

Fornisce informazioni relative al Copyright e alla versione del software.

--min-mip <0 - 7>, -m, --max-mip <0 - 7>

darktable può gestire e memorizzare le miniature fino a otto diverse risoluzioni per ogni immagine. Questo parametro definisce quale massima risoluzione dovrebbe essere generata ed è predefinito tra 0 e 2. Normalmente non occorre generare tutte le risoluzioni possibili: quelle mancanti verranno generate automaticamente da darktable nel momento del bisogno. Quando viene richiesto di generare risoluzioni multiple in una sola volta le risoluzioni più basse vengono ottenute rapidamente da quelle più alte.

--min-imgid <N>, --max-imgid <N>

Specifica l'intervallo degli identificativi delle immagini sul database da elaborare. Se non viene fornito nessun intervallo darktable-generate-cache processerà tutte le immagini dell'intera collezione.

--core <opzioni darktable>

Tutti i parametri da linea di comando che seguono l'opzione «--core» sono passati al core di darktable e gestiti come parametri standard. Vedi Sezione 1.1.1, «Comando darktable» per una descrizione dettagliata.

1.1.4. Comando darktable-chart

Questo binario è una utility dedicata per creare uno stile da due immagini come RAW+JPEG che sono stati processati dalla fotocamera. Maggiori dettagli relativi al suo utilizzo possono essere trovati in Sezione 10.3, «Utilizzare darktable-chart».

darktable-chart avvia un'interfaccia grafica oppure può essere usato da linea di comando.

darktable-chart
              [--help]
              [<input Lab pfm file>]
              [<cht file>]
              [<reference cgats/it8 or Lab pfm file>]

Tutti i parametri sono opzionali, tuttavia, se volete specificare il nome del secondo file dovrete specificare anche il primo. Avviando darktable-chart in questo modo accederete ad una interfaccia particolare (dettagli disponibili in Sezione 10.3, «Utilizzare darktable-chart»).

--help

Fornisce informazioni relative all'utilizzo del software.

<file di input Lab pfm>

Apre l'utility con il file selezionato come immagine sorgente. Il file di input deve avere un formato Lab Portable Float Map.

<file tabella>

Specifica un file che descrive il layout della tabella utilizzato per la corrispondenza dei colori.

<referenza cgats/it8 oppure file Lab pfm>

Specifica i valori di riferimento sia come valori misurati secondo le specifiche CGATS che come un'immagine di riferimento in formato Lab Portable Float Map.

In alternativa darktable-chart può essere usato da linea di comando per generare uno stile da un file CSV creato in precedenza.

darktable-chart
              --csv
              <csv file>
              <number patches>
              <output dtstyle file>

Tutti i parametri sono obbligatori.

<file csv>

Un file CSV precedentemente salvato da darktable-chart.

<numero campioni>

Il numero di campioni colore da usare per l'impostazione della tabella di ricerca colore dello stile creato.

<file di output dtstyle>

Il nome del file di stile da creare.

1.1.5. Comando darktable-cltest

Questo binario verifica se sul vostro sistema esiste un ambiente OpenCL funzionante affinché darktable possa utilizzarlo. Restituisce un output di debug equivalente a quello di «darktable -d opencl».

darktable-cltest viene richiamato senza alcun parametro:

darktable-cltest

1.1.6. Comando darktable-cmstest

This binary (Linux only) investigates if the color management subsystem of your computer is correctly configured and it displays some useful information about the installed monitor profile(s).

darktable-cmstest viene richiamato senza alcun parametro:

darktable-cmstest