New Sigmoid Scene to Display mapping

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

Yes, I see what you mean. I also see better wood grain on the posts of the sigmoid version.

Damn! After all that time I spent learning how to use filmic. :dizzy_face:

1 Like

This may be also partly due to the greater contrast in the sigmoid version (actually quite a vast difference). The sigmoid version looks better also to my eyes here. For a comparison, it might be helpful to aim at a similar contrast in the filmic image.

2 Likes

I’m very happy with the “new” colors. Also, no washed out shadows anymore. Now, I have to correct hundreds of photos…

Do you mean washed out as in desaturated and grey rather than deep black? I’ve always had the opposite problem. Filmic crushing shadows to much in a way that is difficult to control. I find sigmoid better with this even if the rendering is more contrasty.

I know exactly what you mentioned. No, not grey, black but washed out. Difficult to describe, but very ugly.
I don’t want to bash filmic, sometimes again it is better then sigmoid. But it is great to have an alternate module. I have photos of squirrels, no chance to get correct colors, despite of intensive studying / trying color calibration module. It’s great, but “the reds needs more cyan”. Weird. One can get crazy trying adjusting colors.

After editing about 1 month completely without filmic/sigmoid (just using the tone eq for the final tone curve), I came to the conclusion: more than 95% of my edits I can reproduce quite similar either in filmic or in sigmoid or even without both.

It’s more of a “which tool suits your workflow / editing style best”.

And one more thing… the real workhorse isn’t the final tone curve, but the dynamic compression earlier in the pipeline. Usually another tone eq instance in some preservation mode (eigf/gf) and with appropriate mask. This instance prepares the tonal range, so that the final curve (be it filmic or sigmoid) “only” has to stretch the proper contrasts in the dynamic range.

So, If you are unhappy with the shadows (or the highlights, or the contrasts in some area), your problem probably lies somewhere earlier in the pipeline. Not in the final curve.

Just my two cents.

4 Likes

Is this really correct? My understanding (and experience) has been that both sigmoid and filmic has a tone mapping and a tone curve function. Tone eq and exposure will shift tones and help move detail around within the output but the tone mappers are still working away maintaining the overall tones within output. Skipping the filmic/sigmoid step makes for a lot more manual work.

Sigmoid and the new highlight handling has made dt really very good. I’m primarily a RT user but have edited a few sets with dt again. The thing, that filmic never achieved due to colour shifting, is that suddenly exposure is a magical tool. You can shift exposure around massively and the result will remain good even when you “should” have shifted stuff into oblivion. Things will get compressed at either end but sigmoid does this in a way that is usually photographically “natural”.

4 Likes

Remember: it is the person behind the post-processing. Tools are only tools, not your savior or significant other.

2 Likes

I use filmic to try and spread my tones over the entire output range, that’s it. If I don’t like some particular part I use exposure or Tone Equalizer until I do.

3 Likes

Don’t get too silly based on the look of those wooden posts… the extra contrast by default in sigmoid needs to be accounted for and for sure default filmic should not just be filmic activated but filmic with the auto white and black at least given this is the intended look of the curve… otherwise set sigmoid at contrast of 1 and see how that looks… I think for me the gamut mapping in v6 causes issues at times otherwise I reckon very easily I can get exactly the same look from sigmoid and v5 filmic with chroma pres set to no…

Or skip them both :slight_smile:

2 Likes

For me, it really depends on the picture. Most of the times, I want my highlights to desaturate smoothly and naturally, which is what sigmoid’s per-channel mode does well. But some of the time I want those highlights to retain color, often with colored artificial light in the scene, which is where the rgb-ratio color preservation shines.

As for the tone curve, I frankly don’t see a massive difference between filmic and sigmoid. It’s only a starting point for me anyway, typically augmented by the tone equalizer and rgb tone curve.

1 Like

That is at least my experience. I would concur to what Mica said.

And to this point:

This is not the case (edit: at least for a lot of images - there are of course also images which are pretty hard to do without… for example this, here I used sigmoid Backlit, hardcore flaring, vintage lens fun. - #33 by qmpel ). In many images, the final sigmoid/filmic curve can be replaced by a tone eq with preserve=no and a simple contrast function (a sinus wave). If you have a photo with high dynamic range, it is more fiddly, to get a pleasant curve - but I still wouldn’t call it a lot more work.

If you want proof, look at my history. (edit: Nearly) all play raws in the last month or so are not using filmic/sigmoid. Now you might say, my edits look shitty … then the case is clear also :man_shrugging::smile:.

1 Like

Why should this not work? IIRC, Aurelien’s thesis about this topic was, that each modern camera sensor is capable of delivering HDR data, or more precisely, the dynamic range of the image can be larger than the one of the output medium. However, not every scene is a HDR scene, and even if, in many cases, burned-out highlights and/or black shadows are perfectly acceptable for an image. For the other cases, sure, there are alternatives to using filmic or sigmoid, e.g. base curve, RGB curves, or tone eq.

IMHO, filmic and sigmoid modules are helpful to have (1) some default rendition that is closer to the final expectation than the pure demosaiced linear data, (2) a tailored handling of HDR data, (3) tailored controls to fine-tune the output transform, and (4) to ease adaption to different output formats (different dynamic ranges), at best with no need to change settings. So why should we no use these in our workflow, as long as we can get the desired results?

3 Likes

Yes, the waveform does provide stellar information. Only one small peeve: the top of the diagram is hard to see since the background merges nicely into the desktop …

I’v hacked with with css and altering the histogram.c file in the source to allow it to be nice and bright… by default it is painted to the screen to dull it down a bit… I bumped it up to 0.95

// The alpha of each histogram channel is 1, hence the primaries and
// overlaid secondaries and neutral colors should be about the same
// brightness. The combined group is then drawn with an alpha, which
// dims things down.
cairo_save(cr);
cairo_push_group_with_content(cr, CAIRO_CONTENT_COLOR);
cairo_translate(cr, 0, height);
cairo_scale(cr, width / 255.0, -(height - 10) / hist_max);
cairo_set_operator(cr, CAIRO_OPERATOR_ADD);
cairo_set_line_width(cr, DT_PIXEL_APPLY_DPI(1.));
for(int k = 0; k < 3; k++)
if(mask[k])
{
// FIXME: this is the last place in dt these are used – if can eliminate, then can directly set button colors in CSS and simplify things
set_color(cr, darktable.bauhaus->graph_colors[k]);
dt_draw_histogram_8(cr, d->histogram, 4, k, d->histogram_scale == DT_LIB_HISTOGRAM_SCALE_LINEAR);
}
cairo_pop_group_to_source(cr);
cairo_set_operator(cr, CAIRO_OPERATOR_ADD);
cairo_paint_with_alpha(cr, 0.95);
cairo_restore(cr);

Excuse my ignorance …is there a fix at this time … do you have a revised css?