This section is intended to get you comfortable processing images in the darkroom view using a scene-referred workflow. You are advised to follow the guidelines provided below, up to the end of the image processing in 3 modules section and then choose other areas to learn as-and-when you need to use those techniques in your images.
🔗take a well-exposed photograph
Good image processing techniques start in the camera – a well-exposed image (without blown highlights or heavily crushed blacks) will always make post-processing much more straightforward. Under- or over-exposure can be “fixed” by darktable to some extent but no software can recover information that is not present in the Raw image (clipped highlights). Where possible, you are advised to use exposure to-the-right (ETTR) techniques to maximize the amount of data available for processing while avoiding clipping. As a general rule of thumb, in cases where the scene-dynamic-range exceeds that of your camera, it is safe to underexpose all images by 0.5 to 1 EV (by reducing the ISO sensitivity if possible) even if the in-camera preview looks darker than expected (the preview is not the raw data). If the scene dynamic range is lower than that of your camera, you may wish to dial in some over-exposure (decrease shutter speed or increase aperture) to capture more light and reduce noise.
🔗scene-referred workflow: a new approach
If you have used other Raw software in the past (or darktable prior to version 3.0) you may notice some significant differences from what you are used to – darktable now uses a scene-referred approach for most of its processing modules. This approach is used extensively in cinematography and is known to be much more robust than the traditional display-referred approach.
In display-referred processing the data from your Raw file is initially compressed into a range that represents pure black as 0 and pure white as 1, fixing mid-gray at 0.5. A tone curve is automatically (and irreversably) applied to this data to make the image look “good” on your display and subsequent edits are carried out on top of this already highly-modified image data. The cost of display-referred is an early loss of the relationship between pixel luminosity and saturation (usually also involving hue shifts), which is responsible for the infamous “HDR look” when the dynamic range increases.
In the real world, “pure black” does not really exist (there is always some light) and there is no limit to how bright things can be (so no “pure white” either). Scene-referred processing attempts to retain the physical properties of the scene for as long as possible by placing the Raw data on an unbounded linear scale and only compressing the data to the dynamic range of your display after image processing is complete.
In a scene-referred workflow many common tools (tone curves and levels, for example) are no longer useful ways to manipulate the image, since they rely on now-invalid definitions of black, white and gray. Experienced users may need to learn new techniques and discard old ones, but will be rewarded with much more robust and predictable outputs.
🔗white balance and color calibration
Most processing software uses a traditional temperature/tint model for adjusting the white balance of an image. In darktable, the color calibration module provides a much more robust and flexible approach, allowing you to explicitly define the color of the light source. This is particularly useful for scenes illuminated by artificial lighting.
Please note that the white balance module is still enabled in this approach, but its settings normally should not be altered.
Set preferences > processing > auto-apply pixel workflow defaults to “scene-referred (filmic)” now.
Enter preferences by clicking on the gear icon in the top panel.
🔗edit in a controlled environment
Image processing should be performed in a controlled environment, lit by a white light source against a background approximating mid-gray, and on a monitor that has been properly calibrated.
While this may not be practical in many home editing environments you can control the background colors on your monitor’s display. You should set the darktable color scheme to use one of the “grey” themes and use the color assessment mode when altering tones and colors in your image. Dark themes might look good but, unless you are processing images to be viewed on a cinema screen in a darkened room, they should not be used for photo processing.
Set preferences > general > theme to “darktable-elegant-grey” or “darktable-icons-grey” now.
🔗enter the darkroom
Choose an image to edit from the lighttable view and double-click to load that image into the darkroom view. For now try to choose an image that is well exposed – we will discuss some techniques to recover badly-exposed images later.
In the darkroom view, you will see a list of processing modules to the right of your image. Each module performs its own processing on the image, in the order shown in the module list, starting at the bottom of the list and moving up to the top. You can think of this like a stack of building blocks where each block builds on the processing performed by the modules below it.
On the left hand side is the history stack (you may need to expand the module), which shows the order in which adjustments were made to the controls of the various modules. This allows you to undo changes by reverting to an earlier step in the history stack. You will see that a number of modules are applied automatically – these are needed in order to generate a legible image from the Raw data.
It is important to understand the distinction between the order of the modules on the right-hand-side of the screen (which represents the order in which modules are executed) and the order of the modules in the history stack (which represents the order in which modules were modified).
To the top right is the scopes module, which shows the spread of tones/colors in your image.
If you have previously viewed or edited the image in the darkroom view, start by discarding history (click the reset button in the history stack). This will reapply defaults using your new settings and provide a clean starting point for editing.
🔗why doesn’t the raw image look like the JPEG?
…because you haven’t processed it yet
One of the first things people notice when switching from lighttable to darkroom view is that the image looks different – often flatter and less saturated than that shown in the lighttable view. This is because the darkroom view displays the (mostly unprocessed) Raw image, but the lighttable view initially displays the (in-camera) JPEG preview. Now that you have opened the image in the darkroom view, the lighttable view will update to show the edited version.
Most Raw software goes to great lengths to reproduce the look of standard camera JPEGs out of the box. While this can be useful (if you only want to make very minor adjustments to the camera’s rendition of an image) we assume that you are using a Raw editor to make the image your own, and that the camera does not know how to do this. Certainly, if you are using the ETTR techniques mentioned above, the camera JPEG will rarely be close to how you want the final image to look.
The default settings in darktable are therefore intended to provide you with a neutral starting point for further editing and nothing more. We do not intend to change this.
Below the scopes module, at the top right of the screen, is a set of tabs into which darktable’s modules are grouped. If you cannot find a module in one of the tabs you can use the search feature to locate it.
For the purposes of this guide, click on the hamburger icon (to the right of the tabs) and select the “workflow: scene-referred” preset now.
🔗image processing in 3 modules
The following basic adjustments are fundamental to scene-referred editing and will be required, to some extent, on the majority of images. You can usually produce a good-looking image with these steps alone.
As you will be adjusting the tones and colors of the image, start by enabling color assessment mode (press Ctrl+B) and perform the following edits on the zoomed-out image while in this mode.
Set overall image brightness: First, set the overall (average) brightness of the image (the mid-gray point) by adjusting the exposure slider in the exposure module. This is a purely artistic setting and should be defined based on your intent – for example, for a high-key image you will set the average brightness to be lighter than for a low-key image. The color assessment mode provides you with two reference points to assist with this by surrounding the image with a white frame against a middle-gray background.
At this point, don’t worry if the brightest parts of your image lose detail – this can be recovered in the next step.
Note: The lens correction module can also affect the image brightness so you may want to consider enabling it before adjusting exposure.
Set white and black points: The next two steps use the filmic rgb module to define how the tones in your image will be mapped to the dynamic range of your display. Start by setting the white and black relative exposure sliders in the scene tab. These are purely technical settings, defining white and black relative to the mid-gray point you set in the previous step. If your image contains tones you want to treat as pure white or pure black you can use the color pickers beside the sliders to set these values (using the maximum and minimum brightness of the image). Otherwise set the values manually using the color assessment frames as a reference.
Adjust the contrast: Now move to the look tab in filmic rgb (for now we will skip the reconstruct tab). Enable the look only view at the top of the module to see a representation of the filmic tone curve, which consists of a straight section in the middle (used to set the contrast of the mid-tones) and curved sections at the top and bottom (where the shadows and highlights are compressed to fit the dynamic range of the display).
The contrast slider changes the slope of the straight section (the mid-tone image contrast), the latitude slider changes its length and the shadows/highlights balance slider changes its position. There is a lot of give-and-take involved here – if you want to increase the contrast of the mid-tones, you must sacrifice contrast in the shadows/highlights and vice versa. The default settings of this module are tuned to work for the majority of images but you should experiment with these sliders to understand how they affect the image.
Note: The highlight compression in the filmic rgb module can cause detail to be lost in the highlights. You can mitigate this to some extent by reducing the white relative exposure, adjusting the shadows/highlights balance or changing the contrast in highlights setting in the options tab. The tone equalizer module can also be used to reduce the relative brightness of the sky.
Color preservation: The tone mapping in the filmic rgb module attempts to redistribute the tones in your image without affecting color reproduction. While the default color preservation algorithm works for most images, you are encouraged to experiment by changing the preserve chrominance setting in the options tab if you do not like how the colors appear.
Saturation: Your image will probably not look very colorful at this point. You can adjust the global saturation of the image using the color balance rgb module. The “basic colorfulness” preset should provide you with generally-reasonable defaults, but you are encouraged to experiment further with these settings as required.
Note: This guide assumes that the white balance of the image has been correctly captured by your camera. If this is not the case, you may need to make some corrections in the color calibration module first.
You can now switch off color assessment mode by pressing Ctrl+B again.
🔗other processing techniques
With practice the above workflow can quickly provide you with a reasonable-looking image, though most will need some additional work before they are ready for export. The following sections are intended to provide a brief outline of some more image processing techniques in darktable, with links to the relevant reference sections for more information.
Traditional white balance correction attempts to ensure that whites and grays are really neutral (R = G = B) and doesn’t really try to manage the impact on other colors. The CAT tab of the color calibration module extends this treatment to handle the remainder of the color range and works in a color space designed specifically for chromatic (color) adaptation. As with traditional white balance controls you can select a patch of neutral gray in your image to calculate the white balance, or use a selection of other automatic and manual methods. The default settings use the white balance from the image’s Exif data and are usually sufficient.
If you need to make adjustments in the color calibration module, you may want to also revisit any saturation corrections you made earlier in the color balance rgb module.
🔗correct lens distortions
All lenses introduce some artifacts (distortion, chromatic aberrations, vignetting) to the image. The lens correction module can correct many of these issues for a wide variety of lenses. The chromatic aberrations and raw chromatic aberrations modules can also be used to handle chromatic aberrations for lenses that are not (or only partially) supported by lens correction. In most cases simply enabling the lens correction module will auto-detect your lens and auto-apply all available corrections.
If you decide to use the lens correction module, it should be enabled at the start of your edit, before you adjust exposure, since vignetting correction can alter the overall brightness of your image.
🔗reduce noise / retain detail
At a pixel level there is a trade-off to be made between the retention of fine details and the reduction/removal of sensor noise. In most situations, a small amount of noise is perfectly acceptable and will not be noticeable except when you zoom in to 100%. At this scale you are not viewing the image at a realistic size – even when represented on a large monitor or print, noise that is obvious at high zoom factors will be virtually invisible on the final image. However, some modules further along the image pipeline (especially those that increase local contrast) may end up exaggerating any noise that is present so, again, there are trade-offs to be made.
The first module you can use to manage this is demosaic, which controls how the single-color (R, G or B) pixels in your Raw file are converted to image pixels combining all three colors. Each demosaic algorithm has its own trade-offs between retaining fine detail and reducing noise. The default demosaic algorithm (RCD) usually provides a reasonable compromise.
Demosaic algorithms can only do so much to manage noise in your image. The denoise (profiled) module is individually tuned for a number of common camera sensors and can be used to reduce or remove pixel noise. As with demosaic you should alter the settings until you are happy with the balance of denoising vs fine-detail reproduction. The default settings are usually sufficient.
🔗sharpness and local contrast
A number of modules can be used to adjust the local contrast and sharpness of your image. Most of these modules aim to enhance the apparent contrast of edges and do not add “real” sharpness (they are not the same as lens deconvolution). You should take care when using these modules as most of them can introduce artifacts (such as halos) when settings are pushed too far:
- the contrast equalizer module allows you to adjust contrast, limiting the effect to certain feature sizes. For example you can use it to increase the contrast of fine details without impacting larger-scale objects, or vice versa
- the diffuse or sharpen module offers a number of presets for sharpening, lens deblurring and the addition of local contrast
- the local contrast module provides a simpler interface for quickly adding local contrast to your images – just enabling the module or selecting one of the presets is often all that is required
- the sharpen module is intended to re-introduce sharpness that was removed by your camera’s anti-alias filter (if present) and can be enabled by default in preferences > processing. The methods listed above are usually preferred to this legacy module.
As with the modules mentioned in the previous section, you should take care when adding contrast to small-scale objects – an image viewed at 100% is not a realistic representation of your final edit and local contrast adjustments are usually better judged when zoomed out.
🔗reconstruct blown highlights
While a well-exposed image will make post-processing much easier, darktable does provide a few tools to handle blown highlights.
The highlight reconstruction module attempts to reconstruct blown highlights (colors and structure) using adjacent pixels. A number of different approaches are provided, some of which may be better on certain images, however, the default algorithm produces good results in most cases.
Even well-reconstructed highlights can show color and edge artefacts, some of which may be exacerbated by subsequent modules in the pipe. In this case the reconstruct tab on the filmic rgb module provides additional methods to further smooth/correct highlights at the end of the processing pipeline.
🔗adjust angle and perspective
The rotate and perspective module can be used to adjust the angle of the image or to simulate the functionality of a tilt/shift lens by altering the perspective, making converging horizontal and/or vertical lines parallel (keystone correction). This latter technique is most commonly used for architectural photography. If you just want to correct the angle of the horizon you can do this by right-clicking and dragging along the horizon line.
🔗remove spots and unwanted objects
Use the retouch module to remove unwanted objects by replacing pixels with detail from elsewhere in the image. This module also offers powerful techniques for removing large-scale objects (such as spots or blemishes) while leaving fine-scale details (like hairs and follicles) intact. The most common use for this module is to remove dust spots from images or blemishes from skin.
🔗remove atmospheric haze
There are two methods for removing atmospheric haze in darktable. The haze removal module provides a much simpler interface, but the “dehaze” preset in the diffuse or sharpen module can provide more flexibility when needed.
🔗crop and frame
Use the crop module to crop your image and the framing module to surround your image with a colored frame. Both modules can be set to use a predefined or custom aspect ratio – for example, you could place a square-cropped image into a 3:2 frame.
🔗dodge and burn
Dodging and burning is a traditional darkroom technique to add and remove brightness from an image. There are two recommended ways to achieve this
- If you want to selectively dodge or burn only certain objects you can apply a new instance of the exposure module using a drawn mask to isolate the effect to the required area of the image (see also the mask refinement section for more information). Move the exposure slider to alter the brightness of the masked area.
- If you wish to dodge or burn areas with a similar brightness (for example, to brighten the shadows or darken the highlights) you should use the tone equalizer module.
🔗convert to monochrome
darktable provides a number of ways to remove the color from your image. The most flexible method is to use the gray tab of the color calibration module. A number of film emulation presets are available in this module to provide you with a starting point.
See the developing monochrome images section for details of other techniques.
The color balance rgb module is your one-stop-shop for controlling the colors in your image. Adjustments can be isolated to the shadows, highlights and mid-tones, or applied at a global level.
🔗other important topics
🔗reuse common module settings
If you find yourself using the same module parameters repeatedly, you can create presets containing your favorite settings. If you use the same settings on every image, you can also make presets apply automatically to new images. For example, you may find yourself adding the same exposure settings to every image taken by a certain camera – in this case you can create a preset that automatically applies those corrections only to images from that camera.
You may also have groups of module settings that you commonly apply only to certain types of image. You can use styles to apply multiple module settings at once to a selection of images.
🔗perform adjustments locally
Most darktable modules can either be applied to the whole image, or restricted to parts of the image using drawn and parametric masks.
🔗control darktable with other input methods
You don’t need to use the darktable UI to make adjustments to your images. Most of the functionality in darktable can also be controlled using shortcuts defined with your keyboard/mouse and even with other input devices such as game controllers and MIDI devices. See the shortcuts section for details.