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?
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.
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
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…
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:
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?
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??
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.
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.
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.
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…
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.
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.