Don't shoot me but...

Don’t shoot me but I really like the Shadows and Highlights module.

I know that the darktable devs do not like the Shadows and Highlights (SH) module, but I would argue that in many cases it is a one-click wonder drug (in terms of what you end up with). Yes I know the warnings about halos, color shift, etc, but again anyone using the tool can see if they appear and then decide what trade-offs are in order. I feel that even considering the caveats associated with it’s use, the results it produces are pretty slick.

What I like about the SH module is that it doesn’t just do shadows and highlight compression, but it seems to make up for the typical resulting flatness by tweaking local contrast on the histogram bands it fiddles with. So it also adds a bit of pop.

The Tone Equalizer module is a great tool and it has been marketed as a replacement for the SH module. It even has filter modes that try to preserve local contrast throughout the operations made. That’s great, but my experience with it is that although it may not “give up” much local contrast, it doesn’t add any. That’s all fine and understandable- it’s probably not part of the goals of the module, by design. However in that regard it’s not really a stand-in for the SH module- rather only part of it. The SH module adds a bit of pop, like frosting on your corn flakes, and that is what is missing in terms of SH stand-in.

So for a while now I’ve been trying to come up with a simple, normalized set of workflow steps for myself that can be used as a replacement for the SH module, and that does a reasonable job of replicating its end results, but otherwise avoids the SH module itself altogether.

This may be obvious to some, but it wasn’t to me at first. After some experimentation, here is what I do and it has worked well in multiple scenarios so far:

  1. Use Tone Equalizer to do the initial shadows and highlight compression. There are even some default presets in the Tone Equalizer module to get you close something you can tweak to a final mix.
  2. Create a second instance of the local contrast module (I say second instance here because in most cases I’ve already used local contrast as an essential switch once)
  3. Set up a luminosity mask for the second instance of the local contrast module that limits the processing to the midtones, as that is where the shadows and highlights compression has pushed the histogram. You can use the picker tool to select something in that region and then adjust the sliders to bracket that window as desired.

Using this approach I’ve been able to reproduce what looks like the “full effect” of the SH module, but without using the module itself. The nice thing here is that you can separate the tone equalization from the local contrast enhancement and decide for yourself how much of each contribution looks good.

I’m curious if others have looked for a good stand-in for the SH module, and what they do to get there. I can share some raws and sidecars if anyone is interested.

4 Likes

I must admit, I hadn’t played with Shadows and Highlights module before. I just tried it on a couple of my photos, and I have to say, it is pretty awful. I can achieve a much more natural look using tone equaliser (with a properly set up mask, of course). The Shadows and Highlights module introduces all sorts of harsh artifacts and weird saturated colours, which look a lot like the overdone images you often see coming out of Lightroom. After playing with this module, I can understand why the devs aren’t recommending it anymore.

1 Like

Are you using filmic or the base curve? If you’re using filmic, I don’t find I need nearly as much contrast correction, because filmic is doing it for me.

SH doesn’t add extra local contrast.
It just preserves the local contrast by blurring more aggressively (in gaussian mode), which leads to the halos.
Just lower the feathering in tone equalizer, you will get a gaussian blur (guided filter is just a smart average of a gaussian blur and the image itself in this case, and lowering feathering keeps more the gaussian and less the image in the average). But beware of halos…

I use filmic with the scene referred workflow mainly, but I’m not a purist in that regard.

Interesting. I assumed it added local contrast based on the description in the darktable manual, “Modify the tonal range of the shadows and highlights of an image by enhancing local contrast.” The result looks like the local contrast was increased in parts of the image too, in addition to the highlight/shadow compression. I have not dived deep into the nuts and bolts though.

It’s definitely not for every image. It can really mess up images too for sure if there was no need for shadow/highlight compression to begin with. I’m not sure if you messed around with all of the controls or not, but some of tradeoffs can be managed pretty well- it doesn’t have to be overdone. My real point was about achieving something as good or better, without needing to resort to this module in the first place.

I can’t shoot someone that has a caboose as their profile icon… :laughing:

I use the other end of the train as my github icon:

2 Likes