New Sigmoid Scene to Display mapping

I may have missed it somewhere, was sigmoid compared to the upcoming filmic v6? Or is that another can of worms that we don’t want to visit yet?

I have access to both… I don’t recall a lot of discussion…V6 without the desaturation that you see in v5 for sure gives a different look as a default…haven’t tried it against sigmoid…I get nice results with both sigmoid and filmic frankly but with slightly different tools applied. I must say with less options you are less tempted to fiddle using sigmoid whereas with filmic there are more choices to tweak the output and if you go that route it can seem a bit less efficient if you start micro managing it

EDIT …work on v6 is closer to getting merged I think…

Indeed! Seems like some recent changes in master, rebased against the latest and fixed!

Look forward to seeing them!!

Not compared against filmic v6 so yes another can of worms has to be opened, yummy! I don’t think it will be particularly large can though as the observations about rgb ratio and per-channel should be pretty much unchanged.

@priort has just built a windows version with filmic v6 and sigmoidal so that we can now open that can of worms (although I guess many of us may be on a different OS)

1 Like

Kind @priort’s build gave me a chance to play with this module and compare it to filmic. Interestingly, I choose a raw with super high dynamic range, probably clipped on both ends. Too bad I can’t share the image. When I find the energy, I will see if I could crop out the subjects but still show you how both modules struggle with it in different ways.

I tried it on a couple of pictures and I much prefer sigmoid, I think it handles better highlight and shadows (with filmic it’s easy to end up with crushed shadows or artifacts in the highlight), colors and most importantly is much easier to use (2 parameters vs 20) and integrate better with the rest of the modules (changing exposure works well, no need to pump up colors in color balance, …). I think it makes a big difference in the overall experience of editing images with DT.

To be clear one can obtain very similar the same results with filmic, and there’s probably cases where the additional controls are required to obtain a particular result. But I think DT beginners and people that want a more streamlined workflow that gives appealing results right out the gate will love sigmoid.

Only suggestion is to rename the module to something a bit more specific (“sigmoid display transform”, “sigmoid tone mapping”, …).

4 Likes

Awesome to hear!

The name suggestions box is definitely still open, and I agree that sigmoid shouldn’t be the final name. “sigmoid display transform” is pretty good but a lot longer than most other module names in darktable, might be ok though.

Sidit maybe :slight_smile:

By the way absolutely outstanding job with this module, I can’t wait for it to be adopted by the dt devs.

1 Like

We should call it

(Hidden for those who can't appreciate a bad pun.)

Sigmoid Freud

13 Likes

I wonder, is the sigmoid function indeed the important part, or is it the hue preservation?

It would make sense to have

  • Filmic display transform
  • Sigmoid display transform
  • Basecurve display transform

Or actually, it might make sense to somehow label/color scene-referred modules differently from display-referred ones, which would make any transform stand out.

Would it be possible to integrate the sigmoid into filmic? Make hue preservation just one more color mode, and sigmoid one more shape parameter?

6 Likes

Hey, another fun image to try this on:

I think Sigmoid is very good and deserves to be in dt going forward.
As others have said, it gives good results with just a few items to adjust, and produces good results quickly.

Could there be a need for Skew to go beyond -1 and +1, or are those limits inherent in the maths? I only mention it because you can’t exceed these with a right click + value entry.

It seems to me that Sigmoid prevents clipping in its output. What if you want to clip, so that the rest of the image can have more dynamic range? To achieve this I had to turn the skew up high and increase exposure. It seemed more controllable to do this in Filmic and Filmic gave a nicer result in my test pic. I think specular highlights are being output unclipped by Sigmoid, which is generally not what you want surely. Is there a need for a “threshold” / “white point” setting?

I really can’t think of any scenario where you would WANT clipping. Clipping is fundamentally a loss of information - and actively clipping will result in undesirable hue/saturation behaviors, as demonstrated in New Sigmoid Scene to Display mapping - #545 by jandren where clipping is one of the primary root causes of filmic faceplanting so badly there, because driving something past clip fundamentally alters saturation AND hue.

If you really, Really, REALLY want clipping you could add a module after sigmoid in the pipeline to clip things. Basecurve can easily be used as a clamping operator, there are probably a few other modules that would do the trick too. That said, I’m trying to understand why just bumping up exposure to handle this is problematic.

As to the skew limits, I’ll leave that to @jandren , but if it didn’t fall apart with manual entry that might be a candidate for opening up the slider limits a bit. Got an example file?

It’s very common in out door portraiture to clip the background.

Only because it’s really damn hard to avoid in many such scenarios - but clipping is also known as “blown highlights” which are usually highly distracting due to the complete loss of texture in the clip region. I’ve always tried as hard as I could to avoid clipping in the background for outdoor portraits for this exact reason - it distracts from the subject.

Don’t forget that there is a non-chroma-preserving mode in Filmic.

Which has the problem of hue twisting.

This is despite the fact that there approaches that behave better than norms which don’t cause hue twisting, such as the approach that @jandren based his off of. (The basic concept has been around for longer than flimic ever existed).

Oh so you’ve talked to every portrait photographer and all of them would preserve the highlights if they could? None of them like it as a stylistic choice?

Yes I know what it is, no need to be so condescending.

Fill flash isn’t that hard.

As I already said - if you REALLY, REALLY wanted to do this, there are a number of ways you can do it, because you don’t HAVE to make sigmoid the last module in the pipeline.

Perhaps, even, maybe this is a reason that you might want to not use sigmoid - you’re falling into that trap of “there is one true way to do things, and that way must handle all use cases”. If, stylistically, you like the look of hard-clipping, you should use an alternative approach that hard-clips. Unlike someone else you’re a huge fan of, I’m not going to insist your approach is fundamentally wrong and that no one should ever even allow you to do it. I’m going to question whether or not you REALLY want to do that, but if you really want to use a different approach, do it. I’ll even provide suggestions on how to do it (such as using a module after sigmoid to do some clipping, or just using a different rendering transform).

#1 way to achieve this.

1 Like

There is no hue twisting. I just tried with a color checker picture and some color test images.