Color and exposure mapping
A new feature in the “exposure” and “color calibration” modules allows you to define and save a target color/exposure for the color pickers, in order to match any source object in the image against an arbitrary target color. This can be used to perform white balance (chromatic adaptation) against non-gray objects of known color, or to ensure the color consistency of an object across a series of images.
Filmic v6 introduces new color science. This change removes the mandatory desaturation close to medium white and black and replaces it with a true gamut mapping against the output (or export) color space. This allows for more saturated colors, notably in blue skies.
For users who still prefer the “desaturated highlights” look, you can still do this by disabling chroma preservation, but v6 adds a hue handcuff to prevent the traditional hue shift that comes with this method (where saturated blue skies degrade to cyan and saturated red to yellow).
This gamut sanitization is the third and last to be added to darktable, which now has a fully-sanitized color pipeline from input (color calibration), through artistic changes (color balance rgb) to output (filmic v6). Users can now color-grade pictures safely in the knowledge that invalid input colors can be recovered in the least destructive fashion possible early in the pipeline, and valid colors can’t be pushed out of gamut along the pipeline.
Note: If modules are applied after filmic in the pipeline, they don’t benefit from this gamut mapping and rely on LittleCMS2 (if enabled) at the final export stage, which does not gamut map as it should, and probably never did.
Guided laplacian highlight reconstruction
A new “guided laplacian” method has been added to the “highlight reconstruction” module. This uses an iterative and multi-scale wavelet scheme to extract valid details from non-clipped RGB channel(s) if any, uses these details to guide the reconstruction of clipped channels, and finally propagates the color gradients from neighboring valid regions using edge-aware color diffusion. This limits color bleeding through edges (preventing green leaves from bleeding color in the reconstruction of clipped blue sky, for example).
A noise setting allows Poisson noise to be added to reconstructed highlights, in order to help blend them into noisy high-ISO images.
This method is only available for Bayer sensors and cannot be adapted to X-Trans sensors.
Introducing the darktable Uniform Color Space 2022
The darktable UCS 22 is a perceptually uniform color space designed from psychoperceptual experimental data specifically for the purpose of artistic saturation changes, as performed in the color balance RGB module. It uses a brightness-saturation scheme that compensates for the Helmholtz-Kohlraush effect (accounting for the contribution of colorfulness in perceived brightness) and allows an efficient gamut-mapping against pipeline RGB at constant brightness. It will make the saturation control in color balance RGB better behaved.
The UI has been completely revamped again to improve look and consistency. Padding, margins, color, contrast, alignment, and icons have been reworked throughout.
Collapsible sections within modules have also been redesigned so that their functionality is more obvious and better-looking. New collapsible sections have been added to avoid cluttering the UI in the following modules:
- channel mixer rgb
- color calibration
The vignetting module has been split into two sections for clarity.
Superfluous sections have been removed from the “crop” and “white balance”.
Support has been added for the IPAPGothic font.
The module-description tooltips have been reworked to ensure better layout.
Finally the default theme has been changed to Elegant Grey. The darktable default is now in line with the theme recommended by the team.
Performance and OpenCL support changes
All performance and OpenCL settings and pixelpipe optimizations have been fully reviewed and updated. Many new optimizations have been added and the user preferences have been simplified.
All configurations are now per-device allowing each OpenCL device to be tuned separately.
Performance configuration is now applied at runtime and no longer requires darktable to be restarted when changed.
Some modules had incorrect or overly conservative tiling factors, which made darktable unnecessarily slow (since tiling was used when it was not required) The followimg modules have been updated
- demosaic (X-Trans)