Filmic vs Sigmoid - when to use which

I will give it a shot and compare some results. Maybe you are right and it needs more study…

I know Boris thinks there’s no reason to use curves over tone eq, since it’s so much more powerful and allows you to do things curves can’t do. Check out his videos on the subject.

1 Like

@JasonTheBirder Here it is:

I simply love how sigmoid works: simple, predictable, superfast to get the wanted result and each knob has an understandable goal. I don’t have to be a colour science expert to develop a raw image.

4 Likes

In sigmoid you usually adjust 3 sliders:

  • contrast
  • skew
  • chroma preservation (mostly affects the highlights)

In filmic v7, it’s quite similar:

  • white and black relative exposure (often with auto picker)
  • contrast
  • highlights saturation mix.

Admittedly, I use a filmic preset that sets the contrast in highlights / shadows controls to safe, but then with sigmoid I also use one of two presets (the built-in smooth, of the ‘alternative / sRGB’ values from Introducing "primaries" feature for sigmoid).

These days, I use sigmoid more than I used to, but sometimes filmic gives better (or equally good, just different) results. It’s good to have both available.

5 Likes

I like the ability to set a white point in Filmic, although you often have to readjust it if you subsequently make changes to modules earlier in the pipeline. Sigmoid just seems to handle all that nicely without much fiddling, which I believe was its original purpose (smooth rolloff to white).

If you don’t adjust sigmoid, there is no guarantee anything will be white. If you do, and then change the modules that come before it, you’ll have to re-adjust contrast and/or skew.

Notice how the snow isn’t white (sigmoid with defaults):

You can change the skew to get close to white:

But then if you change the exposure, you will have to change the skew a bit – the gentler the shoulder of the curve, the less the required adjustment, but again, setting filmic’s contrast in highlights to safe behaves similarly. Both of them are tone mapping curves. I think the deciding factor is more the colours than the tonal properties of the curves: in some cases, sigmoid, especially with the new primaries adjustments, produces much better colours. In others, filmic wins. (And, of course, one usually does not want to make the snow completely white, in order to keep some detail in it.)

2 Likes

I’m sure you’re right, but I’m rarely trying to get pure white and usually find I don’t have to go back and adjust contrast and skew in Sigmoid. But it does of course depend on the image and how much detail you want to eek out of the highlights. I find these days I’m less bothered about details in highlights. But snowy pictures would be an exception, yes.

3 Likes

@jandren

I am not sure : correct me if i’m wrong but I think Filmic and Sigmoid have two very different approach :

Sigmoid seems to act like the base curve : meaning you can not directly choose the input dynamic range of Sigmoid (you can expand or reduce the input dynamic range with the contrast slider but it will impact the contrast of the picture). I think the default input dynamic is something like 8-12 EV (I don’t know, I will take 12 EV as example for the following).
So, you use other tools (Tonal Equalizor, Balance color RGB, etc) to make the dynamic range of the picture fitting the input dynamic range of Sigmoid. If you have a 3 EV picture or a 32 EV picture (HDR merging), you end up using other tools to expand 3 EV to 12 EV or compressing 32 EV to 12 EV. And then it’s done, you work on colors, details and local contrast on a 12 EV picture.
Example with a 18 EV picture (HDR merge) :
18 EV HDR => Tone equalizer, contrast (balance rgb), etc => 12EV => colors, details, etc => Sigmoid => 8 bit JPEG.

With Filmic, you choose your white and black input points. So Filmic take anything as input, and you work on that. You can work on a 3 EV picture or on a 32 EV picture, and directly edit colors, details, local contrast. You don’t need to expand or compress the dynamic range : it’s filmic which will do that. The Tone equalizer is used to bring back parts of the image independantly of others, but not to compress the whole range.
18 EV HDR => Colors, details, contrast local, etc… => Filmic => 8 bit jpeg.

it’s different in term of reasoning.
Am i right or false ?

Filmic : I know it can take anything (-16 EV ; +16 EV) as input. It can compress up to 32 EV pictures (if the neutral grey is at 0 EV).
What are the limits of Sigmoid ? Can it compress pictures having more than 16 EV ? (actual medium format camera).

Both filmic and sigmoid can take any dynamic range as input. Basecurve expects input in the range 0…1

With sigmoid, you can use skew and contrast to adjust the “white point” and the “black point”. Sigmoid doesn’t have a white reference in the sense of filmic, of a specific point mapped to 1.0 in the output; sigmoid’s mapping function never reaches 1 (or zero, for that matter).

While you can control the dynamic range that’s mapped, sigmoid still has less controls than filmic. That automatically means that you have less independent variables to play with, so more will have to be done outside sigmoid, compared to filmic. E.g. if you give sigmoid a very large dynamic range as input, you will have to lower the contrast a lot, giving a flat image. So you’ll need another tool to get at least local contrast back… Then again, with filmic also you run into cases where youhave to modify contrast elsewhere.

Is that simplicity of sigmoid an advantage or a disadvantage? Some like to do as much as possible with one tool, others prefer specific tools for specific jobs… And, we did manage to tame large(ish) dynamic ranges before filmic.

(I know there are differences in the handling of colour between sigmoid and filmic, I just wanted to limit it here to the dynamic range aspects)


Oh, and keep in mind that for both filmic and sigmoid “middle gray” is by definition at zero EV.You’re supposed to set that first (with “exposure”) as several other modules use that value as a pivot. (I know, you could change the “middle gray” pivot in filmic to something else than 0.1845 …).

5 Likes

Yeah, that’s exactly what my mind was trying to explain, but you did it far better than me and with better words ! :+1:
Sigmoid needs more work on tonal adjustements outside of Sigmoid.
But Filmic needs more work on color adjustements outside of Filmic (Balance color RGB)… not because Filmic needs it, but because people are (unfortunately) familiar with the fact that the base curve (and Sigmoid) have big effects on colors (both saturation and hue) whereas Filmic just try to preserve as much as possible the input color.

Incidentally, I am still confused about where that is and how one would visualize it during processing.

For simplicity, consider a monochrome image, in the scene referred part it is a bunch of positive numbers. Is 0 EV 2^0? Or \exp(0)? How and where would I visualize the range of pixels that belong there, either in the preview or the histogram?

(This is just me being curious, of course I adjust exposure by eyeballing the output).

Here’s one way:

1 Like

Let’s stick to grayscale and floating point, as used by dt.
Middle gray (for filmic as default) is at a grayscale value of 0.1845 (no logs or exponentials, please). This is declared to be at 0EV.

Just do a short search for “middle gray darktable” in a search engine.At least one other thread discusses this.

Note that a lot of discussions predate the scene-referred workflow (eg the one you linked is mostly about answering this question with display-referred modules).

Same for sigmoid. But the actual value is less important than the ways to visualize it. All ways I found are a bit cumbersome.

Is all the talk about middle grey really that relevant for users?

It seems it just confuses people when they are instructed to “set middle grey” and such things. All you really need to do is adjust your exposure to what looks good?

11 Likes

I’d like to propose creating a new forum category, maybe called “Technical”, where algorithms/math/code can be discussed without distracting or confusing people who are not interested in these details.

@patdavid

1 Like

What is wrong with the processing category?

It is described as “processing and managing images after they’ve been captured” – not a good fit for discussions of math and algorithms.