Saturation Map with parametric mask

Hey guys! A couple of days ago I watched Unmeesh on Youtube working with a saturation map to create a mask for an adjustment layer which gave him the chance to saturate an image more naturally (i.e. higher saturation on saturated areas and low saturation on less saturated tones). I managed to recreate that in Affinity Photo but I was wondering if something like that could be done in Darktable.

So I went and added an instance of a color balance rgb module, activated parametric masks, set it to chromaticity and inclusive and set the values as seen in the screenshot. Is this correct? I tried to find more info about the subject in the manual but there was not much that helped me.

Screenshot 2024-08-15 120835

Screenshot 2024-08-15 120840

Saturation Map View (result of parametric masking)

Screenshot 2024-08-15 120847

Example of a photo that was saturated more with the aforementioned process. See how the dark tones in the shadows stayed desaturated.

The saturation mask in Affinity Photo looks like that:

image

See what happens with the saturation map on a vibrance adjustment layer and vibrance and saturation turned all the way up (just to visualize it betterā€¦obviously thatā€™s not how I would do it)

You more or less have it. Youā€™ve moved the bottom part of the hour glass of the slider, which will give you feathering on the mask. Not sure if you wanted that or not. If you move the top part of the hour glass of the slider, youā€™ll get a hard mask. You can then use the Mask Feathering slider, which has a guided filter built in, which means itā€™ll detect edges and objects; I find that it works well.

Also note that you can combine multiple tabs in the parametric mask part, so nothing is stopping you from also using Hz if you want saturation of some specific colors.

The saturation map in affinity looks like it has higher contrast in the mask. You can effect that in the parametric mask module by using ā€œgā€ or ā€œJzā€.

Yes youā€™re right about the hourglass. But that is exactly the thing Iā€™m trying to wrap my head around: I donā€™t want to use feathering because the image itself and the different saturations of the pixels should create a black and white representation of 0 saturation pixel = black, 100 saturation pixel = white. Is there a way to achieve that?

So, do you want to create the mask solely based on Cz (ā€˜saturationā€™), or do you also want to take brightness (either using g or Jz) into account, excluding the darker regions? Iā€™d simply use the default (exclusive) mode, and use a low-to-high ramp for both Cz and whatever brightness channel you choose. You may have to use the boost factor slider to scale the brightness range.

1 Like

I think thatā€™s the one! :smiley: Thank you so much!

Oh and yeah - just the saturation.

1 Like

Mask contrast will also drive it closer to a zero and one out comeā€¦and feathering isnā€™t a graduated blur as it is with some softwareā€¦its actually edge aware so it will make your mask follow edges of an enclosed areaā€¦so you might want to try itā€¦

Its shown in this old blog post which also has a nice explanation of the retouch moduleā€¦

I donā€™t have time to check but maybe this is in the current manualā€¦

1 Like

Check out episode 67 68 and 69 video for pretty comprehensive masking coverageā€¦

Most things you need to know about DT can be found on this channel and a few othersā€¦

https://www.youtube.com/@s7habo/videos

@nwinspeare has a nice set of 5 videos on masking as well as some othersā€¦

https://www.youtube.com/@adabbleinphotography8721/videos

1 Like

When you are creating your mask one thing you can do is to hover on the slider of the parametric channel and use the C keyā€¦this will give you an image map/overlay for that parameter of the imageā€¦it can give you a sense of what is a good channel to target to define the area that you intend to maskā€¦

Iā€™m not quite sure if itā€™s a misunderstanding or if Iā€™m explaining it wrong. The solution is the one I posted. I tried other ways (feathering, contrast etc.) but if you think about it, all these make no sense. Would I want to mask specific colors for example - letā€™s say red - I could easily do that, feather the mask to include more of adjacent colors and be ok with the result.

In my case I need the mask to look at the whole image and increase or decrease the masks opacity for saturation levels across the whole image. Feathering would give me a wrong representation of saturation levels. Think of it as a single RGB channel where blacks and whites define the lightness information for the individual channelā€¦but now itā€™s just about saturation no matter the color. And Cz with the input set to ramp up towards 100% saturation does exactly that. Set the mask opacity to 100 where the saturation is the highest and to 0 where there is no saturation. And that pixel per pixel. No edge detection or feathering needed. :blush:

Same misunderstanding I guessā€¦ I was not saying that you need to do it but you mentioned feathering would include more pixel when usually it will be lessā€¦ also I think you mentioned wanting a black and white ie zero and one mask which is impacted by contrast of the mask ā€¦again I am not saying to use that only addressing some of your commentsā€¦ in any case you have the result you are looking forā€¦so you are all set

1 Like