New Sigmoid Scene to Display mapping

Congratulations to Jandren (Jakob Andren) for persistence. I look forward to being able to use sigmoid without having to run a separate dev instance, whenever I upgrade to version 4.2.0. Am still on 3.6.1.

And to all who supported his initiative, congrats also. If only we could apply such open consensus to solving the far reaching challenges of human existence, food, shelter, education, health., in a co-existent manner, which is not about the superiority of one approach over another.

This also demonstrates that Darktable, as got some advantage to its architecture, which can enable such coexistence. Base Curve, Filmic, Sigmoid, and whatever else may show up in the future. Amazing.

With each new version - there is even more reluctance to upgrade, cos the version I’m using is stable and meets my needs. But I will upgrade soon enough.

9 Likes

I’ll play with it more and report back; I do have an auto-applied color balance rgb preset that maybe is interacting/conflicting with the contrast that sigmoid adds.

@s7habo just did a nice video with a portrait edited using each module. As will likely be the case a touch of tone eq litterally pulling down the right most node will help tremendously with the sigmoid highlights… this can also help with filmic but I think is even more important when using sigmoid…

I think that’s quite likely… I find I need quite different setting in color balance rgb when using sigmoid (especially in my preferred ‘per channel’ mode) as opposed to filmic.

1 Like

I played with the settings more and found that sigmoid’s default contrast is just greater than filmic rgb so turning down the contrast slider slightly helps. The settings I’ve adjusted to get good results with portraits and sigmoid are:

  • increase the chroma in the highlights using color balance rgb as they seem somewhat desaturated:
    sigmoid_color_balance_rgb

  • pull down the highlights in tone equalizer if there’s still too much contrast on the high end:
    sigmoid_tone_equalizer

3 Likes

After Xmas I did some comparing of Sigmoid and FilmicRGB with synthetic images and my checkr24 PNG file from the other topic in this forum: synthetic-image-for-understanding-darktable-modules

Both modules have strong benefits and I cannot yet judge, what will be my preference.
But i found, that FilmicRGB does less color change than Sigmoid for the checkr24 test file. The change is only minimal, but is visible and measurable for some colors when using Sigmoid. Filmic keeps the colors practically unchanged. Probably for real world photos, this difference is not really relevant. Or for special tones like skin? I need to investigate …

I feel validated that even Boris is using from time to time synthetic images to check and explain DT modules. Last week for example on http://youtu.be/yRhUEWvOW6g with “DT Episode62: Hue shift in highlights”. Thanks!

1 Like

I have now decided to use (the black box of) sigmoid as a standard part of my processing. Of course there are subtle differences from results that I would have had with filmic but it is really a difference of ‘style’, in my opinion, rather than being incorrect.
My one wish with sigmoid would be to have a graphical display so that the data and the adjustments could be more readily visualized.
One of the criticisms of dt is its complexity and filmic simply amplified such comments … sigmoid, for the user, is relatively simple and a breath of fresh air in the system.

11 Likes

That is nice to hear! And a reasonable wish, will need some thinking from my part but not impossible.

3 Likes

These things all can take up space in the UI and require updates…since there are only 2 sliders one trip to @jandren Jandren’s curve simulator shows what happens to the shape of the curve what happens to the highlights and shadows just follows… I’m not sure that it would really add that much??

Contrast/Slope 1 Skew 0

Slope 1.5

Slope 4/contrast

Contrast 2 Skew 1.0


Skew -1

Skew -2

So pretty simple and if you use a waveform histogram its very obvious what happens to the image…

4 Likes

While I agree in general, I do wonder if it would be beneficial to show a before/after histogram comparison. Ideally, this would not happen in the module but in the histogram. I am also missing such a comparison in other modules, e.g. hlr. For these purposes, I also think that it could be beneficial to have an x axis with numbers, and the camera white points depicted by a line, and in the case of sigmoid before/after histogram, the white point of the output colour space.

I’ve sometimes thought it would be nice to have a RAW histogram/display which showed in detail what’s happening at the top end. You could see the sensor white point and how much of a bunch there. You could check this against the white point DT is providing. This is usually hard to see because of the relatively few pixels involved. Perhaps a bit nerdy though.

5 Likes

Even better if you could show the histogram (or use the color picker for that matter) at any stage of the pixel pipeline! Vkdt has this with its node based setup but I do not know how hard that would be in darktable.

1 Like

Making the histogram show raw when the raw exposure indicator is active would be nice.

1 Like

Early on in rawproc, I decided I wanted the histogram to follow the tool on display. For those who haven’t inspected it, rawproc has a toolchain pane, each tool has a checkbox that allows the user to select it for display.

Now, that selection doesn’t display the histogram of the display render, the histogram is of the internal image array being worked on. The difference is that the display render has been piped through the display transform, a bit confusing but not hard to track once you know what’s going on. The display transform can be turned off if it’s desired to regard the display and histogram as equivalent, but I’ve never had to do that - knowing the histogram is calculated from the internal data is enough.

I used to think that “feature” of rawproc was one of its simplifications that kept it from being a “real” raw processor. But, after regarding all the dialouge about confusion regarding what the histogram stands for in other software, not so much… :laughing:

1 Like

I was interested in comparing, so I did the same edits of a decent image with everything exactly the same up to using filmic or sigmoid. I prefer the filmic result, and I could have done even better with filmic, but I just accepted the defaults (except for Options).

Filmic:


_DSF4208_01.RAF.xmp (5.9 KB)

Sigmoid:


_DSF4208_02.RAF.xmp (5.8 KB)

2 Likes

If you don’t use the waveform for your histogram I would suggest you try it… you can see what is going in in highlight and where in the image…The histogram is just a binned out put… I think @hanatos isn’t going to even bother with one in vkdt… sticking to the waveform… If I add sigmoid then I want to see what happens in say a cloud area up in the sky or what it does globally to the image in certain area… the standard histogram really isn.t that great… but waveform is very useful for analysing what is going on…

Aurelien has removed the histogram profile in Ansel. This fed the color picker but had the data run through the display first with made the histogram susceptible to issue with the display profile and made thing like changing the display profile to rec2020 to show true pipeline clipping necessary. It will be interesting to see how he goes about wiring this in and if DT devs will use is to correct this issue that has been floating around for some time…

1 Like

I know I am sounding like a broken record but as sigmoid is a display transform its impact on the image is essentially at the end of the pipeline. I am not sure what is to be gained by another histogram display cluttering the interface as it will be essentially the same as the main one. I think if you decide to pursue one please make it collapsible. Using the wave form display which absolutely provides the most information about what a module is doing to your image and watching that as you adjust sigmoid and or toggling the module of and on I think is more that sufficient to gauge what is going on…

3 Likes

Oh, I do already … Vertical waveform display · Issue #3005 · darktable-org/darktable · GitHub. But there are different purposes for the different tools, the waveform gives a more fine grained view with the additional spacial information, which also makes it slower to read in some cases, and the histogram is more a sum view which gives a quick overview, easy and fast to read, but lacking the spacial information. I have use cases for both.

For sigmoid (or filmic), I am mainly concerned about the output color space white point as I sometimes have images that require a pure white background. Yes, it’s visible in the waveform … :wink:

From a “raw histogram” I would e.g. be interested in assessing how “badly” an image is clipped. Both as quick assessment, I know about the overexpose indicators etc.

1 Like

Sigmoid is significant better here. The feathering has a greenish tint. The pecker also. Filmic is great, but massively shifts colors. Very difficult to repair.

2 Likes