Darktable 3.4 and the Scene-referred Workflow

With the new release of darktable, 3.4.0, some of my favourite modules have been deprecated. Time to dig into the new modules and create a new workflow.

Like every year, a new release of darktable was released on Christmas Eve, this time relese 3.4. Download, upgrade, continue using darktable as usual? No, not this time. After launching and upgrading the database I looked at the new settings dialogue, tweaked this and that, done. Starting to edit a file in lighttable. But stop! Where are my modules? What has happened?

I started working with darktable back in 2012. Sure, over the years many things have changed in darktable and going along with that I had set up a workflow that fitted my needs and that evolved along with each new release of darktable. But also, I always recognized the artefacts that became obvious when pushing the settings of some modules too far. There was almost always a fairly good remedy: Blending. I never made up my mind why exactly that happened as I always found some way or another to circumvent these problems. This leads us to the next question: Why?

As a good introduction to the subject I remommend reading the excellent artice Got an image problem? Go see the image doctor. that digs deep into the problem.

In short: pixel operations in legacy modules work on a transformed, non-linear color space that fits the display of images (display-referred), which is causing trouble when pixel values reach the limits of the algorithms. This is especially true for newer cameras with higher dynamic ranges, but even for my Olympus cameras that date back to 2012. To improve image quality new modules have been introduced to darktable that work on the linear color space of the image sensor (scene-referred).

In darktable 3.4 some of the legacy modules have been deprecated (among them by beloved tonemapping module) and can only be used when addressed directly. This was the point for me when I decided to completely switch over to a scene-referred workflow. After reading some manuals and doing lots of try and error I hope I have understood how it works. As a side effect the number of modules needed to achieve the same results is lower than before.

Admittedly, one has to get used to a scene-referred worflow first because the intermediate results are – opposed to a display-referred workflow – not alway looking better with every step. But let the quality of the processed images speak for itself: