The Darktable Photo Editor, Part 1: Overview
Darktable is a free multi-platform, raw-image editor and camera control program. It uses ‘sidecar’ technology, which leaves the raw image files untouched and saves all edits in an “.xmp” file (one per photo). Since Darktable receives ongoing support, it is capable of editing raw files from your new digital camera. I’m reviewing version 2.4.4 for Windows10 x64.
You can download Darktable for Windows from here.
User manuals from the authors are available. The link to the English version is here.
The Darktable program is geared toward managing the entire workflow of image editing, grading, storage, and retrieval. The workflow is divided into the following five areas:
Image editing/grading (darkroom)
Camera control (tether)
The supporters of darktable (at darktable.org) have provided pretty extensive documentation, and many of the dialog samples in this article are taken from that documentation. Many software helper tools mentioned in the documentation only apply to Unix/Linux platforms.
I wasn’t entirely happy with the darktable documentation, so I thought I’d take a stab at creating some documentation myself. This program is very powerful, and in many ways I find it superior to Adobe Lightroom.
Darktable is a complicated-enough program that I felt it was worthy of a few articles. This first article is going to give a gentle overview of its main features, without going into extreme detail.
One of the best features of darktable is its masking capabilities. I’ll only give a light touch on the masking topic now, because I feel it’s worthy of a more extensive treatment in a future article.
No, darktable doesn’t support the Nik/Google/DxO plugins; at least not yet. This is probably my biggest disappointment with darktable.
The image import/export dialog is called “lighttable”. It is recommended that you import photos in chunks of single folders, versus recursively importing multiple folders. It’s possible to connect to a camera via USB and import from there directly. If you desire, you can filter the import to omit ‘jpg’ files, etc. There are many configurable options for Darktable, which you access via a little “gear” button near the top-right of the screen.
The left-hand panel is generally used for image importing. You can hide/show this panel by clicking the little triangle on the edge of the panel.
After your photos are imported, you click on “collect images” and “recently used collections” to select the folder images you want to display and make available for editing.
As a side note, you can go back to any folder you have already imported from and re-import. Only the new image files will get imported; you won’t get any duplicated imports.
The lighttable right-hand panel is generally for exporting edited images in formats such as jpg and tif. Once multiple images are selected, the “selected image[s]” option lets you delete them or make an HDR image from bracketed shots.
Once an image has been edited (inside ‘darkroom’), its history of editing steps can be copied/pasted into other image files. Access this feature from the right-hand panel “history stack”. This is how you can achieve ‘batch’ editing. To paste the history, first multi-select the target thumbnail pictures and then select “paste” or “paste all”. The “paste” lets you select just pieces of the history stack, versus every single editing step.
Because lighttable doesn’t use a conventional menu system, you can see how busy its interface can get. For most people, it would probably take a few days of use to get comfortable with this interface.
Most buttons have “tooltip text” if you hover over the control, so be aware of this feature.
The image-editing dialog is called “darkroom”. The left side panel in darkroom is mostly informational, including the photo EXIF information and the editing history. The darkroom editor adaptively uses this EXIF information in a few of its edit module settings, such as the ISO setting and camera model, and lens type.
The right-hand side panel holds the selected file histogram and a collection of editing modules below the histogram.
The histogram can be used to adjust exposure and the black point, depending upon if you mouse-drag in the right or left sides of the histogram.
The bottom of ‘darkroom’ has a film roll, as selected by the ‘lighttable’. You can navigate through the photos via the mouse scroll wheel, the spacebar, and the backspace key. Double-click an image to edit it.
The top-left of the ‘darkroom’ view shows a small image of the entire photo. Drag the rectangle inside it with the mouse in order to pan through the photo, or just drag inside the large edited image to pan. Just to the right of this little image view is a control to select common zoom levels.
There is no “save” option in darkroom, because all edits are automatically saved into a “history stack”. This history stack can be copied/pasted into other image files to perform batch editing. You can click Ctrl-Z to undo the last edit (history) step.
If you click on one of the history steps in the left-side panel, and then activate a new editing module, all steps after the selected history step will be deleted. Beware of this operation, since it can’t be un-done.
Whenever you want to see a full-screen view of your edited image, just click the Tab key. Click Tab again to restore the panels. You can zoom the main image by using the mouse scroll wheel while the pointer is on the image.
To view blown color channels in the selected Raw image, click on the little icon just above the film strip that has Red, Blue, and Green squares in it. Next to that button is a light/dark square to view blown highlights in your image. Keep these controls active while you adjust exposure and highlights to tame the overblown areas.
The module types are designed to contain a specific type of edit step, such as noise removal, color control, and sharpening. Each module has its own optional mask, which can be either geometrical (brush, circle, ellipse, path) or parametric (such as an adjustable color or luminance range).
The edit modules will be applied in a fixed, carefully controlled sequence of steps. This means that you can choose editing steps (modules) in any order you like, while the output results will have the steps applied in an optimized order. As an example, image sharpening is applied at a later stage than image de-noise.
Some of these modules are really smart, and are capable of responding in a customized way to things like the camera model sensor type and ISO setting.
To view a module, just click on its name. Beware that making a module visible doesn’t make it active. To make a module active, you need to click its “On” button.
The buttons just below the histogram will let you select module categories, such as “Basic”, “Tone”, “Color”, “Corrections”, and “Effect”.
When you click on a module name to expand it, the previous module will collapse. The sample module name above is “sharpen”. If you really want multiple modules expanded at once, then hold down the shift key as you click on another module name.
If there are modules you use frequently, you can select “favorite” inside the “Module presets” button, shown above.
It’s worth mentioning that most modules have “sliders” in them. You can ‘drag’ the slider to change values, and you can also left-click them to make large changes and use the mouse scroll wheel or the arrow keys to make small changes.
Masking (module ‘blend’ option)
Masks are an integral part of the majority of the edit modules; they let you make changes to selected portions of the image. They can be quite cryptic to understand, until you learn the meaning of the various icons and GUI controls they contain.
When you select one of the blend operations “drawn mask”, “parametric”, or “drawn & parametric mask”, you are ready to construct a mask.
Since they’re so complicated, I’ll devote a full article to the use of masks in a later article.
For now, I just want you to be aware that you can use a different mask with nearly every edit module, by expanding the “blend” option.
The “drawn mask” has options to use a brush (drag a circle around to trace a wide path), a circle, an ellipse, a gradient, and a path (to encircle a complicated shape).
You can change the size of drawn masks using the mouse scroll wheel. If you use the Shift button with the scroll wheel, you can change the feathering width on the mask edge, and the Control button/scroll wheel will change the opacity of the mask.
The “parametric mask” lets you construct an image mask by selecting a characteristic such as range of light or a range of hue. This can enable creating a mask that is far more complicated than you could ever draw with a brush or a path.
There’s a little “circle-in-square” button that lets you see where your mask is located, drawn in yellow, when you click it. If you click the “circle-in-square” again, the mask will be hidden.
Healing/Hiding Defects: spot removal
Spot removal using the circle shape
Use the “spot removal” module in the “correction group” to do healing (e.g. clone/stamp). It will let you create circles, ellipses, and drawn paths to fix problems. The usual scroll wheel is available to adjust spot size, while you use the Shift-scroll to adjust the edge feathering width.
The shot above shows that the feathering of each circle was minimized, which was adjusted by using the Shift key with the scroll wheel on the mouse. You’d see a dashed line outside the solid line if feathering was increased.
The nice thing about this spot tool is how obvious the source/destination indicators are. The source is connected to the destination by an arrow, to indicate how the source points to the destination.
Spot removal using a path shape
Spot removal paths are created by mouse-clicking along an enclosed path. When you have enclosed the shape you want, just click the right-mouse button to finish it. Your “source” shape is drawn automatically, but it probably isn’t located where you want it.
When you draw a “path”, you can hold down the Control button if you want the path edges to be straight instead of curved. You can alter the path shape by selecting one of its “nodes” and drag it after you have drawn the whole path.
The source --> destination arrow isn’t shown in the case of a path shape, unfortunately. Drag the source shape over the pixels you want to use to replace at the destination. It will copy the source pixels over the destination pixels and obey the size/feathering/opacity, according to how you use the scroll/Shift-scroll/Ctrl-scroll wheel. If you have fixed up several spots but then change your mind about a previous spot, you can go back and select it with a click and then use the right-mouse button to delete that particular edit without affecting the others.
If you leave this module and later return to it, you might find that you’ll need to deactivate/reactivate it to see your previous work (e.g. the source/destination markers). Until you see your previous work shapes drawn, you can’t select them to move/resize/delete them.
Perspective Distortion Correction
Typical “keystone” perspective problem
Perspective correction module
This shows an example of a typical editing module. Just click on the button for the vertical correction and also select “automatic cropping”, “largest area”. Two clicks, and the problem is solved.
Available edit modules
If a module isn’t displayed when you select its group, then activate the “more modules” at the bottom of the screen and scroll down to the module you want and click it. If you frequently use a particular edit module, you can click on its “module presets” button and select “favorites”.
“Basic” module group:
Crop and Rotate (also has perspective, flip, etc. options)
Orientation (only rotates by 90 degree increments)
Shadows and Highlights (tame clipped highlights and reveal shadows)
Base Curve (alter the manufacturer’s base curve drawn from EXIF data)
Contrast Brightness Saturation
Color reconstruction (repair blown highlights)
Demosaic (choose algorithm to interpret Bayer filter data)
Highlight reconstruction (reconstruct clipped channels)
White balance (camera presets, kelvin temperature)
Invert (invert scanned negatives)
Raw black/white point (activated automatically for raw images)
“Tone” module group:
Fill light (local exposure modification)
Tone curve (operates in Lab color space, however)
Zone System (ala Ansel Adams, with selectable number of zones)
Local contrast (adjust local contrast, but avoids haloes)
Tone Mapping (‘local surroundings’ tone mapping of HDR shots)
Global Tonemap (less sophisticated, faster tone map of HDR shots)
“Color” module group:
Velvia (simulate the film)
Channel Mixer (reassign proportions of RGB color channels)
Output Color Profile (alter the color profile)
Color contrast (between green/magenta or blue/yellow)
Color correction (global saturation, tint, split tone)
Color checker LUT
Monochrome (convert to black and white)
Color zones (selectively modify colors)
Input color profile (override darktable auto-color profile allocation)
Unbreak input profile
“Correction” module group:
Sharpen (unsharp mask) You need this on virtually every photo. Make it a “favorites”.
Equalizer (local constrast enhance, denoise)
Denoise (profiled) Uses camera model and ISO to apply noise removal
Denoise (non-local means) Control chroma and luma noise separately
Denoise (bilateral filter) High ISO pictures. Uses lots of CPU.
Liquify artsy distortions
Perspective correction Includes “automatic fit” and “automatic cropping” to fix “keystone” issues with buildings.
Spot removal (healing brush) Use circles, ovals, paths. Very useful to hide small skin blemishes and sensor dust specks in the sky.
Raw denoise (rid noise before demosaicing)
Dithering (help with banding)
Chromatic aberrations (lateral chromatic aberration)
Haze removal (atmospheric effects adjustment)
Defringe (longitudinal chromatic aberration remove)
“Effect” module group:
Watermark (text overlay)
Framing (frame around edge)
Split toning (separately alter the hue in shadows and highlights)
Soften (Orton effect)
Grain (simulate film)
Lowpass (Gaussian blur) Can blur with contrast, brightness, saturation. This is the module you’ll want to use for skin retouching in portraits.
Lowlight vision (simulate human low light vision)
Bloom (highlight blooming effects)
Colorize (add a solid layer of color to image)
Color mapping (transfer source image colors to target image colors)
There are a few features that you’ll probably miss in darktable. Here’s a couple examples of how to survive their absence.
Red Eye Removal
There isn’t any “red eye removal”, but here’s how you could do it:
Channel mixer module, and turn it “on”.
Select blend: “drawn mask” and place circles over the red pupils (use the mouse scroll wheel to fit the circles inside the pupils).
Destination = “red” channel, with red=0, green=0.5, blue=0.5
This procedure will replace the red channel (the red pupils) with an even mix of blue and green instead, which will make the pupils dark.
Always make the three channels add up to 1.
Infrared Blue Sky
Infrared “blue sky” effect from a color white-balanced infrared shot:
Use “channel mixer module” to swap the red/blue channels.
For destination = “red” channel, make red=0, green=0, blue=1
For destination = “blue” channel, make red=1, green=0, blue=0
Multi-shot Bracketed HDR
It’s not really missing, but it’s a bit hidden. In lighttable, do the following:
“Collect images”, to get to the folder with exposure-bracketed shots. This is on the left-hand panel.
Select the already-aligned shots (use Ctrl and Shift keys).
“selected image[s]” from the right-hand panel.
Pick the “create HDR” option to make a DNG HDR file.
Select “tone mapping” module in darktable to adjust the HDR file to taste.
To merge an image with 2 more copies of itself, with the other copies over-exposed and under-exposed.
Take a single shot, then apply the “base curve” module “fusion” option.
Select the fusion “three exposures”.
Select an exposure shift (typically 1 stop, or EV).
Select an exposure bias of 0 to maintain overall lightness.
Select the “tone mapping” module and adjust to your taste.
A Typical Darktable Editing Session
Go to the “light table” tab
Import | folder
Browse to your disk folder of raw image files
Click the folder, then click “Open”. Images will be imported.
Click the “collect images” button and select your imported folder, if you can’t see your desired thumbnails.
Double-click on the desired image thumbnail to edit.
(it goes to the “darkroom” tab automatically)
Click the “blown highlights” button above the filmstrip, just in case.
Click on the “Basic” modules icon (a circle icon)
Click on a desired edit module, such as “shadows and highlights”
Click the “On” icon to enable the module.
Make adjustments (decrease highlights, for instance, until the blown highlights in the photo go away).
Press TAB to see the edited image full-screen, then TAB to restore.
Use the mouse scroll wheel while over the edited image to zoom in/out.
(Select/turn “On” other modules and make more edits)
Click “Ctrl-E” to export the edited photo into a subfolder of the raw shot, called “darktable_exported”.
Connect and control your camera via USB. You can adjust exposure settings, white balance, focus mode, and even see your camera Live View on the computer.
This tethering module lets you do HDR bracketing and time lapse shots. There are alignment guides and overlays that you can add to your screen as well.
Behind the scenes, darktable is using the “gphoto2” program and its command-line arguments to control your camera. The people at gphoto.org are actively supporting this multi-platform tool, and it now supports hundreds of camera models from all vendors, including Nikon, Canon, Sony, Panasonic, Olympus, and Fuji.
Make sure you charge you camera battery before using this; it’s a pretty heavy energy drain to be using Live View and USB continuously.
Don’t be afraid of this program just because it’s free. This is really good stuff, and it’s still actively supported, as of this writing. Since darktable doesn’t alter your raw photos (it just alters the sidecar files) you aren’t faced with any risks to try it out.
Maybe someday the darktable.org people will add plugin support, which would make this program truly powerful.
As I had mentioned, I'll be adding more articles about darktable features in the future, in an attempt to demystify some of its more advanced features.