In a previous post, we discussed using darktable’s base curve tool to adjust the tones in a photo. This post will look at the other main curves tool: darktable tone curves.
How do curves work?: A review
In the last post we dicussed how curves allow us to map particular pixel values to other values. For example, the deault value of the base and tone curve modules is a straight line:
However, lets say we want to add contrast to our picture. In the base curve module, where the curve represents the brightness of each pixel, we can add an S-shaped curve. This will make the bright pixels brighter, and the dark pixels darker, increasing contrast.
The alternative, inverse S-curve decreases contrast and makes the picture look flatter.
Consider this curve for a second, and appreciate it’s power. We can make the curve infinitely complex, changing only certain parts of the picture but because the curve ensures a gradient in the degree of change, we reduce the chance of posterization. And we can combine it with masks (drawn or parametric) to apply it to particular geometric regions.
Beyond brightness: darktable tone curves
The base curve module affects the brightness of the pixels, and offers a single curve. The tone curve module allows you to edit animage in LAB colour space, opening up much more potential for editing.
The LAB color space is beyond the scope of this tutorial, but briefly it has three axes: L, a, and b.
- L is the luminosity, i.e. how light or dark something is.
- a is an axis that varies from green to magenta
- b is an axis that varies from blue to yellow
When you open up the tone curve module (found under the tone group), you will automatically be presented with the curve for the L axis. You can edit it just like the base curve, by clicking and dragging on any point to create an inflection point. Editing just the L curve in the tone module will have a similar effect to editing the base curve.
The dark histogram in the background shows the distribution of pixels along that axis of Lab colour space.
By default, the a and b axes are adjusted automatically to balance the tones as you adjust the L curve. If you want more control over the colours, set the “scale chroma” option to manual. Depending on the picture, this can be a pretty good way to make colours really “pop”.
By default, the a and b curve have a central inflection point. By keeping this fixed, and editing the curve on either side, we can vary the intensity or a color without changing the tone, i.e make a green more or less green as in this example:
However, if we adjust the central inflection point, then the overall tone of the picture will change. In this example, moving the central inflection point makes the greens turn to magenta:
If you play around with the central inflection point, you will note that even a small adjustment can have a huge change on the overall hue of the picture. This is because most photos only occupy regions of Lab color space very close to the center of the a and b axes (e.g. as shown by the very narrow histogram in the example above). Unfortunately darktable doesn’t currently allow finer control of these curves, although that feature will hopefully appear at some point in the future.