darktable page lede image
darktable page lede image

Kapitel 1. Übersicht

Die Open-Source-Anwendung darktable ist ein Bildeditor, Raw-Konverter, ein virtueller Leuchttisch und Dunkelkammer für Fotografen.

Das Programm verwaltet Ihre Datenbank mit digitalen Negativen, die aus verschiedenen Quellen importiert wurden (einschließlich Tethering-Aufnahmen), zeigt Ihnen die Bilder in einem zoom baren Leuttisch an, bietet eine reichhaltige Sammlung von Modulen zur Entwicklung der Bilder, ermöglicht den Export der Ergebnisse auf standardmäßige physische und/oder digitale Medien oder die sie als Dias auf einer Leinwand vorführen. All diese Operationen werden über vollständig farbgesteuerte Workflows durchgeführt.

Allgemeine Merkmale
  • darktable läuft unter den Betriebssystemen GNU/Linux / GTK3, Mac OS X / macports, BSD und Solaris 11 / GTK3.

  • Völlig nicht-destruktive Bearbeitung.

  • Alle darktable-Kernfunktionen arbeiten für eine hoch präzise Verarbeitung mit 4x32-Bit Fließkomma-Pixel-Puffer, die Streifenbildung (Banding) und Farbbrüche verhindern.

  • darktable nutzt intensiv die Streaming SIMD Extensions 2 (SSE2) Befehle der CPU, um die Verarbeitung zu beschleunigen. darktable benötigt entweder einen SSE2-fähigen x86-Prozessor oder einen ARM64-Prozessor.

  • GPU-Beschleunigung über OpenCL (Laufzeiterkennung und -aktivierung).

  • Bildverarbeitungsmodule arbeiten in CIELab und mehreren gängigen RGB-Modell-basierten Farbräumen, die viel größer sind als der Farbraum moderner Displays, Drucker oder sogar des menschlichen Sehens.

  • Farbmanagement mit Softproofing und Gamut-Check. Integrierte ICC-Profilunterstützung für den Export: sRGB, Adobe RGB, XYZ und lineares RGB.

  • Das Sammlungs-Modul ermöglicht das Durchsuchen der Datenbank nach Bildern mit bestimmten Tags, Bildbewertungen (Sterne) oder Farbmarkierungen über flexible Datenbankabfragen. Das Filtern und Sortieren der Sammlung oder das einfache Beschlagworten mit den zugehörigen Tags sind nützliche Werkzeuge für den täglichen Foto-Workflow.

  • Eine Vielzahl von Standard-, Raw-, Low- und High-Dynamic-Range-Bildformaten (z. B. CR2, DNG, JPEG, OpenEXR, PFM) können importiert werden.

  • darktable verfügt über eine Vollbildanzeige mit Null-Latenzzeit und zoombarer Benutzeroberfläche durch mehrstufige Software-Caches.

  • Tethering-Aufnahmen.

  • Darktable kann entwickelte Bilder als Dateien mit niedrigem oder hohem Dynamikbereich (JPEG, PNG, TIFF, PDF, PFM, EXR) in den lokalen Festplattenspeicher, Web-Alben, LaTeX-Buchvorlagen und E-Mail-Anhänge exportieren und eine einfache html-basierte Web-Galerie generieren.

  • darktable verwendet sowohl XMP-Begleitdateien als auch seine schnelle Datenbank zum Speichern von Metadaten und Verarbeitungseinstellungen. Alle Exif-Daten werden mit libexiv2 gelesen und geschrieben.

  • Weit mehr als 60 Bildbearbeitungsmodule sind in darktable enthalten, die von einfachen Anpassungen, Tonwertänderungen, Farbmanipulationen, Korrekturen gängiger Bildfehler bis hin zu künstlerischen Effekten vieles abdecken.

  • Von den meisten Modulen können mehrere Instanzen erstellt und die Reihenfolge, in der sie angewendet werden, kontrollieren.

  • Eine leistungsstarke Maskierungsfunktion gibt Ihnen die Möglichkeit, den Effekt des Moduls auf ausgewählte Bildteile zu beschränken und genau zu steuern. Nach Belieben können Masken mit verschiedenen Formen gezeichnet oder parametrische Masken auf Basis von Pixelwerten definiert werden.

  • Die Flexibilität der Masken wird durch die Möglichkeit, sie in verschiedenen Mischmodi anzuwenden und die gleiche Maske in mehreren Modulen wiederzuverwenden, noch erweitert.

  • darktable führt einen hocheffizienten, aber einfachen EinzelklickRauschunterdrücker ein, der immer einfach funktioniert. Er ist als Modul konzipiert, bei dem die Rauschunterdrückung nur von der Kamera und der ISO-Einstellung abhängt. Eine Datenbank mit Profilen enthält Parameter für weit über 200 gängige Kameramodelle.

  • darktable verfügt über eine vielseitige Skriptschnittstelle zur Funktionserweiterung mit Lua als Skriptsprache.

  • Bilder, die Geokoordinaten enthalten, können auf einer Karte mit verschiedenen Kartenquellen Ihrer Wahl dargestellt werden. Geokoordinaten können Bildern zugewiesen werden, indem sie manuell auf der Karte platziert werden oder indem GPX-Trackdaten automatisch übernommen werden.

  • darktable verfügt über eine eingebaute Diaschau-Funktion die ihre Bilder im Vollbildmodus wiedergibt.

  • Das vielseitig Druckmodul unterstützt volles Farbmanagement und erlaubt es Bilder direkt zu drucken.

1.1. Programmaufruf

darktable enthält zwei Haupt-Programme: die Standard-GUI-Variante, die durch Aufruf von darktable gestartet wird, und eine Kommandozeilenvariante, die durch Aufruf von darktable-cli gestartet wird. Zusätzlich wird darktable mit einigen weiteren Programmen für spezielle Zwecke ausgeliefert.

1.1.1. darktable

Dieses Programm startet darktable mit der grafischen Benutzeroberfläche und voller Funktionalität. Es ist die Standardmethode zur Verwendung von darktable.

darktable kann mit den folgenden Kommandozeilenparametern aufgerufen werden:

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>]

Alle Parameter sind optional; in den meisten Fällen wird darktable ohne zusätzliche Parameter gestartet, wobei darktable geeignete Standardwerte verwendet.

-d

Diese Option aktiviert Debug-Ausgaben im Terminal. darktable hat mehrere Teilsysteme und Ausgaben jedes einzelnen können individuell aktiviert werden. Diese Option kann mehrfach angegeben werden falls Debug-Ausgaben von mehr als einem Bereich erwünscht sind.

<input file>|<image folder>

Sie können optional Dateinamen von Bilddateien oder Namen von Ordnern mit Bildern übergeben. Wenn ein einzelner Dateiname angegeben wurde öffnet darktable dies direkt in der Dunkelkammer. Wenn ein Ordner geöffnet wird dann startet darktable im Leuchttisch und importiert den Ordner als aktuelle Sammlung.

--version

Die darktable-Version sowie einige wichtige Build-Optionen anzeigen und beenden.

--disable-opencl

Verhindere, dass darktable sein OpenCL-System initialisiert. Dies ist hilfreich wenn darktable auf Grund eines defekten OpenCL-Treibers beim Start abstürzt.

--library <library file>

darktable hält Bildinformationen für einen schnellen Zugriff in einer sqlite-Datenbank vor. Der Standardspeicherort dieser Datenbank ist $HOME/.config/darktable/library.db. Sie können eine alternative Datei angeben, zum Beispiel wenn Sie experimentieren wollen ohne ihre originale library.db in Gefahr zu bringen. Wenn die Datenbankdatei nicht existiert wird darktable sie für Sie anlegen. Sie können auch :memory: als Datenbankdatei angeben, dann wird die Datenbank komplett im RAM gehalten - alle Änderungen werden verworfen sobald darktable beendet wird.

Wann immer darktable startet, wird die Bibliothek für den aktuellen Benutzer gesperrt. Dazu schreibt er den aktuellen Prozessidentifikator (PID) in eine Lock-Datei <library file>.lock neben der angegebenen Bibliothek. Wenn darktable eine vorhandene Lock-Datei für die Bibliothek findet, wird diese sofort beendet.

--datadir <data directory>

Diese Option teilt darktable mit, wo es seine Laufzeitdaten findet. Die Vorgabe hängt von Ihrer Installation ab. Typische Orte sind /opt/darktable/share/darktable/ und /usr/share/darktable/.

--moduledir <module directory>

darktable hat einen modularen Aufbau und organisiert seine Module als geteilte Bibliotheken, die zur Laufzeit geladen werden. Mit dieser Option können Sie darktable mitteilen, wo es nach diesen Bibliotheken suchen soll. Die Voreinstellung hängt von Ihrer Installation ab; typische Orte sind /opt/darktable/lib64/darktable/ und /usr/lib64/darktable/.

--tmpdir <tmp directory>

Der Ort, an dem darktable seine temporären Dateien speichert. Wenn diese Option nicht angegeben wird dann benutzt darktable die Systemvorgabe.

--configdir <config directory>

Diese Option legt fest, wo darktable die Benutzereinstellungen speichert. Die Vorgabe ist $HOME/.config/darktable/.

--cachedir <cache directory>

darktable speichert einen Cache der Vorschaubilder für eine schnellere Anzeige sowie vorkompilierte OpenCL-Programme für einen beschleunigten Programmstart. Standardmäßig befindet sich dieser Cache in $HOME/.cache/darktable/. Dort können wiederum mehrere Vorschaubilder-Caches liegen – einer pro Datenbankdatei.

--localedir <locale directory>

Der Ort, an dem darktable seine Übersetzungen sucht. Die Vorgabe hängt von Ihrer Installation ab. Typische Orte sind /opt/darktable/share/locale/ und /usr/share/locale/.

--luacmd <lua command>

Ein String mit Lua-Befehlen, die ausgeführt werden, sobald Lua initialisiert wurde. Diese Befehle werden nach der luarc-Datei abgearbeitet.

Wenn Lua nicht installiert ist, wird diese Option akzeptiert, aber es wird nichts ausgeführt.

--noiseprofiles <noiseprofiles json file>

darktables profiliertes-Entrauschen-Modul benutzt kameraspezifische Daten die aus einer externen JSON-Datei geladen werden. Mit dieser Option kann darktable angewiesen werden, eine andere Datei zu laden, sodass alternative Profile einfach getestet werden können. Die Standardprofile befinden sich in noiseprofiles.json welche typischerweise in /opt/darktable/share/darktable/ oder /usr/share/darktable/ liegt.

--conf <key>=<value>

darktable kennt eine Vielzahl von Konfigurationseinstellungen, die der Benutzer in darktablerc – darktables Konfigurationsdatei im Konfigurationsverzeichnis - festlegen kann. Mit dieser Option können einzelne Einstellung vorübergehend überschrieben werden – sie werden nicht in darktablerc gespeichert.

1.1.2. darktable-cli

Dieses Programm startet darktable mit dessen Kommandozeilenschnittstelle, die es erlaubt Bilder zu exportieren.

Diese Variante öffnet keine Anzeige, sodass sie im reinen Konsolenmodus arbeitet, ohne X11, Wayland, etc. zu verwenden - dieser Modus ist nützlich für Server, die Hintergrundjobs ausführen.

darktable-cli wird mit den folgenden Kommandozeilenparametern aufgerufen:

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>]

Der Benutzer muss einen Eingabe-Dateinamen und einen Ausgabe-Dateinamen angeben. Alle anderen Parameter sind optional.

<input file>

Der Name der Eingabedatei, die exportiert werden soll. Alternativ kann auch ein Ordner angegeben werden.

<xmp file>

Der optionale Name einer XMP-Begleitdatei mit dem Verlauf, der beim Export angewandt werden soll. Wenn diese Option nicht angegeben wird dann sucht darktable nach der XMP-Datei, die zum gegebenen Bild gehört.

<output file>

Der Name der Ausgabedatei. darktable leitet das Dateiformat von der Dateinamenserweiterung ab. Es stehen auch alle Variablen zur Verfügung, die von darktable Export-Modul unterstützt werden (siehe Abschnitt 2.3.14, „Ausgewählte exportieren“). Aus offensichtlichen Gründen ist dies notwendig wenn Sie das Programm in einem Ordner verwenden welcher mehrere Bilder beinhaltet.

--width <max width>

Mit diesem optionalen Parameter kann die Pixel-Breite des exportierten Bildes angegeben werden.

--height <max height>

Mit diesem optionalen Parameter kann die Pixel-Höhe des exportierten Bildes angegeben werden.

--bpp <bpp>

Ein optionaler Parameter um die Farbtiefe des exportierten Bildes festgelegt werden; zulässige Werte hängen vom Dateiformat ab. Momentan funktioniert diese Option noch nicht. Wenn Sie die Farbtiefe festlegen müssen können Sie dies folgendermaßen machen:

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

wobei <FORMAT> der Name des gewählten Ausgabeformats ist, zum Beispiel <png>.

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

A flag that defines whether to use high quality resampling during export (see Abschnitt 8.4, „Dunkelkammer“). Defaults to true.

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

Ein Flag definiert, ob eine Hochskalierung beim Export erlaubt ist. Die Standardeinstellung ist false.

--style <style name>

Spezifiziert den Namen eines Styles, der beim Export angewendet werden soll. Wenn ein Style angegeben wird, muss auch der Pfad zum Darktable-Konfigurationsverzeichnis angegeben werden (z. B. --core --configdir ~/.config/darktable). Standardmäßig ist kein Stil angegeben.

--style-overwrite

Der angegebene Style überschreibt den Verlaufsstapel, anstatt daran angehängt zu werden.

--verbose

Aktiviert detaillierte Ausgaben.

--core <darktable options>

Alle Kommandozeilenparameter hinter --core werden an den darktable-Kern übergeben und wie Standardparameter behandelt. Siehe Abschnitt 1.1.1, „darktable für eine detaillierte Beschreibungen der Optionen.

1.1.3. darktable-generate-cache

darktable-generate-cache aktualisiert den darktable Vorschaubild-Speicher. Mit diesem Programm können Sie alle fehlenden Vorschaubilder im Hintergrund berechnen lassen während der Computer nichts zu tun hat.

darktable-generate-cache wird mit den folgenden Kommandozeilenparametern aufgerufen:

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

Alle Parameter sind optional. Wenn ohne Parameter gestartet wird darktable-generate-cache verwendet vernünftige Standardwerte.

-h, --help

Zeigt Hinweise zur Benutzung und beendet sich dann.

--version

Zeigt Urheberrechts- und Versionsinformationen und beendet sich dann.

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

darktable kann Vorschaubilder für jedes Bild in bis zu acht unterschiedlichen Auflösungen handhaben und speichern. Diese Parameter legen fest bis zu welcher Auflösung Vorschaubilder höchstens erzeugt werden. Der Standardbereich ist 0-2. Im Allgemeinen ist es nicht nötig, hier alle möglichen Auflösungen zu erzeugen; fehlende Stufen werden von darktable automatisch je nach Bedarf angelegt. Wenn gleichzeitig mehr als eine Auflösung erzeugt werden soll, dann werden die niedrig aufgelösten Versionen zeitsparend aus der höchst-aufgelösten Vorschau erzeugt.

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

Legt über die interne Datenbank-ID fest, auf welchen Bildern gearbeitet werden soll. Wenn kein Bereich angegeben wird, dann erzeugt darktable-generate-cache Vorschauen für alle Bilder in der gesamten Sammlung.

--core <darktable options>

Alle Kommandozeilenparameter hinter --core werden an den darktable-Kern übergeben und wie Standardparameter behandelt. Siehe Abschnitt 1.1.1, „darktable für eine detaillierte Beschreibungen der Optionen.

1.1.4. darktable-chart

Hierbei handelt es sich um ein spezielles Dienstprogramm zur Erstellung von Stilen aus Bildpaaren wie z. B. Raw+JPEG um die Kamera internen Bildstile nachzubilden. Details zur Verwendung finden Sie in Abschnitt 10.3, „Verwende darktable-chart.

darktable-chart startet entweder eine GUI oder wird als Kommandozeilenprogramm verwendet.

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

Alle Parameter sind optional, aber wenn Sie den zweiten Dateinamen angeben wollen, müssen Sie auch den ersten Dateinamen angeben etc. Der Start von darktable-chart öffnet auf diese Weise eine spezielle GUI (Details finden Sie in Abschnitt 10.3, „Verwende darktable-chart).

--help

Zeigt Hinweise zur Benutzung und beendet sich dann.

<input Lab pfm file>

Öffnet das Dienstprogramm mit der angegebenen Datei als Quellbild. Die Eingabedatei muss im Lab Portable Float Map-Format vorliegen.

<cht file>

Gibt eine Diagrammdatei an, die das Layout der verwendeten Farbreferenzkarte beschreibt.

<reference cgats/it8 or Lab pfm file>

Gibt die Referenzwerte an, entweder als Messwerte nach dem CGATS-Standard oder als Referenzbild im Lab Portable Float Map-Format.

Alternativ kann darktable-chart als Kommandozeilenprogramm verwendet werden, um darktable-Style-Dateien aus zuvor gespeicherten CSV-Dateien zu erzeugen.

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

Alle Parameter sind zwingend erforderlich.

<csv file>

Eine CSV-Datei, die zuvor aus dem darktable-chart gespeichert wurde.

<number patches>

Die Anzahl der Farbfelder, die in den Einstellungen der Farbtabelle des erstellten Stils verwendet werden sollen.

<output dtstyle file>

Der Name der zu erstellenden Stildatei.

1.1.5. darktable-cltest

darktable-cltest prüft, ob darktable eine nutzbare OpenCL-Umgebung auf dem System vorfindet und beendet sich im Anschluss. Es gibt eine Reihe nützlicher Debug-Ausgaben aus, die identisch mit denen von darktable -d opencl sind.

darktable-cltest wird ohne Kommandozeilenparameter aufgerufen:

darktable-cltest

1.1.6. darktable-cmstest

darktable-cmstest (nur unter Linux)prüft, ob das Farbmanagement-System des Computers richtig eingerichtet ist und zeigt ein paar hilfreiche Daten über die installierten Monitor-Profile an.

darktable-cmstest wird ohne Kommandozeilenparameter aufgerufen:

darktable-cmstest