Introducing "primaries" feature for sigmoid

For sure! It has been already. I think it helped already to make it very clear that the skew parameter has a drastic influence on the output, and that with portraits (or probably most kinds of images) it is not advisable to push it very high to positive values. I think this is true of sigmoid’s per-channel mode in general.

I think in this particular case this wouldn’t have helped much, since the more red areas were in such position that with the chosen curve, they only ever get some increased purity but none of the desired shift toward yellow. With that particular curve, I don’t think any settings of the primaries would have remedied this, like you also found out.

Would be really interesting to learn more about this. Where should I start looking?

1 Like

Yes, sure it was not white balanced. The point I tried to make was that in the original, the can is clearly perceived as red, but no color picker would be able to tell you that.

This kind of a thing will happen on smaller scale in pretty much every picture, so it’s always best to rely on one’s eyes for judgement.

4 Likes

Well, it depends… I prefer to keep the dynamic range compression separated from the contrast recovery and “path to white”, so these are in two different places. Assuming you are interested in the latter, it’s essentially here. In a nutshell:

  • save the original hue in jzazbz
  • apply gamut compression for the output profile, using the aces method
  • apply a per-channel tone curve (in the working profile)
  • restore the original hue in jzazbz
  • apply some handtuned hue shifts and highlights desaturation. This is the part I’d like to improve ideally
1 Like

I wonder do our eyes WB or do we just know the can is red and have a strong perceptual bias, or both :slight_smile:

It’s both - interpreting wavelength of light is done just in the brain.

1 Like

10 posts were split to a new topic: Module position with respect to display vs scene ref’d

Would a moderator like to split out the discussion starting from Introducing "primaries" feature for sigmoid - #44 by Till80? This is an important discussion and deserves a thread of its own. I’ll also chime in later, right now busy IRL…

3 Likes

Yes, done.

1 Like

This new “Smooth” preset is excellent!

10 Likes

I recently had a photo assignment where my task was to document one union campaign photographically. The union members were all wearing different safety vests.

While editing photos, I realized that the orange vests were very difficult to process with sigmiod options alone.

Here is an example. At first I had to underexpose the shots a lot because orange vests threatened to break the gamut limit:

When increasing the exposure with exposure module and increasing the contrast in sigmoid, the orange vest went right over the gamut. Note that the green-yellow vest, for example, remained within the gamut:

Increasing the attenuation of the red primary did help but with very strong desaturation as a result:

One option to counteract this was to reduce the brightness of the highlights, but the contrasts in this area were greatly reduced as a result:

The best solution was to reduce the brightness of the red channel with the help of an additional instance of the color calibration module:

The question that arises for me is, would it make sense to have the reduction of the brightness of the individual primary colors in addition to attenuation and rotation for such cases, or should the brightness - as in this example - be regulated with a color calibration module?

What do you think @flannelhead ?

Here is the raw file for testing purposes:
Creative Commons, By-Attribution, Share-Alike

_DSC0602.NEF (90,5 MB)

5 Likes

Forgive my boldness.

My version…

_DSC0602.NEF.xmp (18.9 KB)

1 Like

Funny with tricky oranges I used to use the two skin tone patches on the CLUT module and or click on the orange patch to sample and then edit it there… worked surprisingly well … Might try to mess with primaries and other … I feel like personally I will be using the rgb primaries with filmic more that sigmoid… I am just better at using filmic to get the looks I want esp with v5… so pairing that with rgb primaries where you can boost or attenuate should provide as much control… Other than helping sigmoid out if you use it is there any real advantage to using it and the primaries with in that module over using rgb primaries with filmic??

Using the workflow recommended by @flannelhead , with the sRGB-optimised settings, and color balance rgb after sigmoid:


_DSC0602.NEF.xmp (11.6 KB)

One could increase perceptual saturation for highlights even more. With 50%:

And at 75%:

5 Likes

This is one of the cases which shows that we would really need a sensible “gamut mapping” right before the output profile conversion. This would serve as a guard rail to handle these situations gracefully.

As a workaround, you might want to have a look at the suggested alternative settings in the initial post. The idea is that when sRGB primaries are used for the working space inside the sigmoid, when applying the per-channel curves, you won’t have values outside the sRGB footprint as long as you keep the recover purity setting at bay.

Behind the scenes, sigmoid first pulls all the input data inside the sRGB footprint before applying the attenuation, so nothing is clipped at that stage either.

Here’s my attempt with those guidelines. Sidecar embedded.

It seems @kofa was faster than me :smiley:

I think this is out of scope as it doesn’t naturally fit within the process that is implemented by sigmoid.

6 Likes

The workflow with the sigmoid primaries controls is tighter integrated, and intended to provide a good-looking picture out of the box without fiddling.

With rgb primaries + filmic you’ll end up doing a lot of manual work. Also, this approach won’t “automatically” invert the rotations after filmic, which is an essential part of the process to keep the midtone chromaticities near their original positions. You’ll end up doing a lot of manual work and fiddling.

The process (and the good results) implemented in sigmoid relies heavily on the per-channel curves processing. I think none of the versions or modes in filmic implement such a process without any additions such as desaturation curves on top of it.

3 Likes

This is nice and the masking functions of darktable are also excellent, but if I have to process about 100 out of 300 photo shoots for the customer, then I would like to do it without the elaborate masking as far as possible in order to be able to work efficiently.

The addition of primaries to the Sigmoid module has made this work much easier for us event photographers, as we often have to deal with unfavorable lighting conditions. This was also very nicely demonstrated above by @flannelhead l and it works very well in practice. This example with the vest is still one of the rare cases where it doesn’t work so easily and I wanted to know if that also could be addressed.

I like the Sigmoid’s nice function of color processing per channel and contrast, which means I can get very good results almost immediately without having to access the other modules too much.

4 Likes

Your gamut comments made me think about CC that has that gamut compression slider and it defaults to 1 (I think 0 is none). I guess this means its applies a little bit of compression by default??.. This can be further increased… would this help and if so could it be used as a single operation in an extra instance of CC moved in the pipeline or does it need to be where it is in the initial instance to be used as intended I recall it could be useful with the blue lights…but nobody ever talks too much about it so I am not sure other than by using it brute force to attenuate gamut how it might be used selectively if at all as part of overall gamut management…

Were mine or @kofa’s attempts with sRGB base primaries at all satisfactory?

First of all, thank you very much for the clarification!

I’m using alternative settings, but I only increased the contrast a little because the scene looked a little flat. Nevertheless, in both cases there is a “peak” in orange that goes beyond the gamut as seen from the waveform:

Why I’m so picky is when it comes to customer orders, I’m very careful not to deliver results that might make it difficult for him to use the photo for different purposes, i.e. colors that are out of gamut, etc.

2 Likes

Based on the screenshot, base profile is Rec2020. Flick the base primaries to sRGB and see what happens then.

I agree that it’s not great to have values in the image that exceed the medium limits. At the very least, we should have a means to explicitly clip those values before they hit the medium (display or file export). I believe they are clipped currently, but that happens implicitly somewhere we don’t control. And obviously it would be great to have a better alternative than just clipping.

That said, I think the overall focus should be on preventing artefacts such as posterization that start to emerge when things are clipped. I tend not to look at the meters too much but focus on avoiding posterized edges that break the image.

2 Likes