Evaluate the new sigmoid tone mapper just merged into master ...

Added the RAW source


Its got nice dynamic range and colour in the shadows on the tractor so I think its a nice test image…

Hmm… that’s not a bug, that’s some clipped highlights I missed , and i kept highlight reconstruction disabled.

Bug in the workflow. :stuck_out_tongue: As a viewer, I would not know the cause unless I opened and knew what to look for in the XMP (and hence have bias against filmic).

My sigmoid version has the same issue, in case you didn’t notice.
There is just magenta in the highlights, they keep it (as they should). I disabled ‘highlight reconstruct’ because I thought it wasn’t needed. My bad.

(Another case of wrong white level for a CR2).

A comparison on a photo on which I had some trouble getting the colours right:

Old edit with filmic (v6, max RGB):

New version, swapping filmic with sigmoid (all else left the same, as I was quite happy with the immediate result):

I like the colours of the sigmoid version more, especially since it got rid of the weird green tint in the clouds, which I was unable to handle in the filmic version. Thanks to tweaked highlight reconstruction settings, the filmic version has a smoother transition to the clipped highlights, though, which I prefer over what sigmoid does there.


A fascinating image, anyhow. Congrats, luator!

Having tried both filmic and sigmoid, it is possible to achieve very similar results, but with very different settings of colour balance rgb. Not new news but I think it may affect new users first impressions of darktable.

I would vote for steering new users towards sigmoid because it gives a pleasing result without having to do anything else. This might reduce the number of repetitive comments saying that darktable has broken their image. With a few well chosen parameters in the quick access section, then darktable really is extremely simple to use. (Pretty good already, I would just add illuminant source to the colour calibration on quick access)

I would imagine that filmic, with its more purist approach of having to add the saturation yourself is better suited to users that like to explore and read up on things and become familiar with setting up their own presets.


Something I’ve found myself doing with sigmoid… hold onto your hats… is (in per channel mode) pushing the contrast slider up till I get the ‘punch’ and saturation where I want it, which sometimes really overdoes the contrast, then use tone eq to bring the shadows and highlights back.
It’s given a few results I really like, but I guess this is misuse really…?
It’s interesting in that it gives load of local contrast without any module ‘appearing’ to do it… it’s tone eq really, combined with the contrast in sigmoid. The last image I posted on the ‘charge your battery…’ thread is one I did like that.

1 Like

Its really a workflow decision so I don’t see any issue…TE comes before sigmoid so its not like you are feeding one or the other bad data…someone else was even suggesting using levels…now that one I am not so sure about clamping the data before feeding it to sigmoid …but maybe they are moving it after?? That is one of the nice aspects for the adventurous types , ie being able to use multiple instances and in multiple spots

1 Like

Since venturing into image processing, I have discovered that it is still true that there is no one answer to processing. While it may still be a good idea to make the first non-linear/-scene-referred decision using filmic or sigmoid, it may be wise to clean up or massage the data so the input isn’t so extreme. I am not talking about setting the middle tone, which everyone should do. Now, this may be controversial to the purists here, but it is just a matter of being practical. It is like exercise:

  1. Warm up? Stretches? If both, which order?
  2. Exercise / sport
  3. Cool down? Stretches? If both, which order?

Research results tend to differ with the times. Which is necessary? Which isn’t? Which order? Why not do all of the above just in case?! :stuck_out_tongue:

1 Like

Exactly. There are many examples of filmic / sigmoid magic being worked on less-than-optimally exposed images, with amazing results (not a criticism, just an observation). And certainly it’s great to have such capabilities when they’re needed. Goodness knows I need them all too often!! Some here have demonstrated they can make these modules “walk and talk”. :slight_smile:

But I think in practice the old “garbage in, garbage out” adage applies. Try to get a good exposure and you’ll have far less work to do downstream.


Of course you should try and get the best possible exposure when you can (what is “best” will depend on the image). But the role of filmic is not to correct errors during capture…

The problem you are faced with in a lot of exterior scenes is the dynamic range of that scene. A modern camera can handle quite a range, much more than paper can handle. So you have to compress the range from your capture. And that is the main function of filmic (and sigmoid), and why it has the “white reference” and “black reference” sliders. (The conversion of scene-referred to display-referred is also done in filmic, but that’s a fairly straight-forward operation which doesn’t allow any parameters).

You may still want to reduce the dynamic range before filmic, but I find I use that mostly to control (local) contrast. Compressing the dynamic range will automatically reduce local contrast; either over the whole image, or in the roll-off at the extremes, depending on the contrast setting (which sets contrast around middle gray). So changing the exposure for some parts of the image can help maintain the local contrast (“details”) where you want it.

Once again, this is all for correctly exposed images!

I said that using rgb levels after filmic can be used to bring punch back if filmic makes it too flat (like the sunflower image if you put the white ev low enough so that it doesn’t turn too white).

This was in the sunflower saga thread about the patch that removed a gamut mapping stage from filmic.

And i said it was probably a bad idea :stuck_out_tongue:

The same as raising the target display to above 100%. Tricks to get a certain result using filmic , but not necessarily the best idea or in the idea of the modules :).

1 Like

True. I just meant in a general sense it’s better to avoid as many problems as you can, rather than fixing them later. Of course there are many uses for various modules.

No it wasn’t you …someone mentioned using it to tweak white and black points…


It was this post

1 Like


Today I finally developed my holiday photos with the sigmoid module. I had no problems with the “RGB Levels” module.
This is the basic style I used today.
OOC Sigmoid Landscape.dtstyle (7.3 KB)
And the organisation of the modules.
modulegroups_Sigmoid.dtpreset (1.6 KB)
Here are two short videos of my workflow,
2022-11-13 23-17-01.mkv (5.6 MB)
2022-11-13 23-47-37.mkv (4.0 MB)

When using this style, I turn off Filmic and use the white balance in legacy mode.
Greetings from Brussels,


So you use this before sigmoid, ie in the pipeline??


Yes, I have not touched the order of the modules.
The RGB Levels module is just before Sigmoid and Filmic. For more precise settings, I also tried the RGB Curve.
What I really like about the Sigmoid module is its ease of use and compatibility with other modules.
Sigmoid offers directly excellent results without being an all-in-one module !
Capture d’écran du 2022-11-14 09-38-25

Greetings from Brussels.

1 Like

I only ask as based on the tool tips this would feed non linear clamped data to sigmoid… its rgb not lab but non linear at least from my understanding and from the tool tip, whereas the tip for curves is mentions linear output…but again I am not sure if curves is scaled 0-1 but I think it has to be correct? Using levels would seem to not provide sigmoid with the data that it might be expecting or designed to work with but in the end you get the results you want…

So the data is not clamped by levels its just not available to be adjusted outside 100%… that part is obvious (cant be adjusted) but I thought it might be clipping the output to what it displayed… so that part is good but I think the output non-linear … for you it may be semantics as you get what you need…

I think color balance says the same thing, ie non-linear output and it comes before filmic and sigmoid… Tone eq and some modules say quasi or frequential processing/output. I guess it can be tricky to see at what point the data are no longer linear and if it really matters hugely

Still its interesting that filmic I believe says it will accept linear or non-linear data as input but sigmoid says only linear… could just be a tool tip thing as there is no documentation yet…