A tone equalizer in darktable ?

Thanks for all your efforts(and time)! :slight_smile:

Great English skills, AurƩlien!

Merci, AurƩlien!
I am only recently starting to play with the filmic module and look forward to watching your video.
Thank you for all the time and effort you contribute to darktable.

Actually, Iā€™d like to thank all the developers of darktable, both past and future.

1 Like

Very interesting even for a non-darktable user!

I somehow missed the fact that we can now re-order modules in dt. Good news! And congrats Aurelien on a very informative and approachable lecture about image processing and the upcoming features.

Great video, Iā€™m only part way through it, LoL.

I appreciate that, for some, module reordering is a nice feature but, in the video, you comment on how some modules should be above/below others with an explanation but the explanation is above my level of understanding. I have neither the photography nor image processing knowledge to change module order with any real understanding of the implications. Will the default order be sufficient for basic users? Will there be an option to reset the module order to default if I should accidentally (or on purpose for experimentation) change the module order?

1 Like

Right. I need to do another video on that.

2 Likes

Thanks a lot indeed!
I have just watched your video tutorial and there are plenty of interesting tips :slight_smile:

Do you accept donations and if yes how? Paypal?

You need a better microphone! :wink:

Yes, Paypal. Thanks !

I recorded with this baby, I think itā€™s the encoding that is mostly faulty here.

I have at least got time looking at the video. Thanks, that clarifies some parts especially on masking.

I watched this yesterday and found it fascinating. Like all good teaching though, it provoked lots of new questions. I hope these arenā€™t too silly:

In the section on Filmic, I was interested in how difficult it is to automatically choose a black relative exposure, because the noise is not really distinguishable from ā€œsignalā€. As an X-Trans sensor user, I experience the auto setting failing most of the time, for that very reason. One question came to mind - is there any useful information in the noise profiling that has already been done for the profiled denoise module, which could give Filmic hints about where to set the black exposure at different ISOs for different cameras?

In the Tone Equaliser section I could see how powerful this tool could be, and I canā€™t wait to try it out. However Iā€™m still confused about how the mask created by the guided filter relates to the points in the image the user selects. Letā€™s say I am editing an image, and I want to darken a cloud in the sky. I hover over the cloud and apply a -1EV correction. Does this mean that the same correction is now applied to all points in the image that have the same brightness in the mask image as the selected location, with reduced effect where the mask brightness is different?

Thanks for any answers, or explanations about how wrong I am!

1 Like

Yes but no. As I said ā€œblackā€ is merely a clipping threshold between valid data and garbled noise. It depends on the sensor noise level, but also on the actual dynamic range of the picture (having a 14 EV-capable camera does not mean all your shots have 14 EV dynamic range) and the settings you define in darktable, in modules coming earlier than filmic in the pipe (because itā€™s a full streamlined pipeline, and not independent modules, people often forget that). All in all, sensor noise data are not that relevant at this point of the pipe.

Exactly. You would need to use drawn masks in the exposure module to get exactly the same effect but on spatially-defined areas. The tone equalizer processes all the pictures, just caring about the original exposure of pixels, and performing a pre-filtering (is the option is set) with a guided-filter to get smooth exposure zones to avoid local contrast losses.

1 Like

Thanks for the clarifications, and for your great work on these tools. Iā€™m constantly impressed by what Darktable can do, and things keep on getting even better.

That baby is worth almost 10 months of research and development, for the core algo and the UI interaction, so I hope things get better eventually :slight_smile:

By the way, darktable is my full-time job these days, so if you got some spare, you can help me help you. Thanks !

6 Likes

First of all, thanks for all the effort in making these tools.
One probably stupid question: would it be possible to parametrize the number of EV steps in tone equalizer?

One probably stupid question: would it be possible to parametrize the number of EV steps in tone equalizer?

No. The reason is the 9 nodes are then turned into 8 nodes by least-squares approximation to relax some constraints (to soften some of the oscillations in the curve happening if users are too harsh on the settings), and the 8 nodes are finally turned into a series of 8 gaussian exponential functions that fill a full AVX vector or 2 full SSE2 vectors, computed for each pixel. Since exponentials are quite heavy on your CPU, you want the best optimization possible, and having a fixed number of nodes that matches SSE/AVX boundaries is the only way to allow the compiler to optimize aggressively around that.

What I choosed is to let you post-process the exposure mask instead, so you can slide and spread the histogram on all the available nodes.

You will find that the tone equalizer runs on-par with the shadows/highlights module (non OpenCL), yet the number of computations performed is roughly 8-10 times superior.

4 Likes

Hi Aurelien, thanks for this huge work.

I find filmic rgb easier to use than the previous one and very efficient.
Tone equalizer does make also great job for me, but so far Iā€™ve treated images which need more contrast than contrast compression and ā€¦ Iā€™m already quite happy with the ā€œno preserve detailā€.
Moreover when I try to use guided filter, I may remove some halo but at cost of the contrast. I have to admit I havenā€™t yet found the right way to use guided filter.
Then some (I hope not too stupid) questions.

Does that mean that guided filter is less (or not) indicated when global contrast is to be strengthened instead of compressed ?

With option ā€œno preserve detailā€ there is no blurred mask at all. Therefore, when I go to guided filter, there is no continuity with ā€œno preserve detailā€. Wouldnā€™t it make easier for dummies to have a possible smooth transition between the two options (if possible) ?

In your demo you set up filmic rgb first then tone equalizer (while earlier in the pipe). Is that the recommended order ? What are the reasons for that ?

Another point in the demo. You say (1:04:43) that tone equalizer filter diffusion (number of iterations) is the same thing than feathering radius in parametric mask. Could you explain the relationship ?

Thanks again !

1 Like

Ok. I totally ignored this thread even though several of my photos were usedā€¦ :stuck_out_tongue:
And I must admit I am also still a bit ignoring the tone equalizer.

Edit: Wellā€¦ why I even found this: I googled for myself.

1 Like

I have made it a standard part of my workflow, which is generally Exposure, Tone Equalizer, Color Balance (if needed), Filmic RGB, Local Contrast.