Hi together. Since a longer time, I prefer luminance-based workflow for raw development. So I changed over to luminance tonecurves (and tonemapping etc.)
I’m investigating on the issue with desaturated images in case of strong contrast increases. Here an example:
Up left you see my proposal. Big image is linear raw - right bottom is luminance blend mode in gimp.
Is there anyone of you color-experts out there - willing to check the idea / technical concept I pursue? I “wrote” a gegl-plugin as PoC please have a look here: https://github.com/immanuelsch/gegl-HDR-ColorMapper
Oh! Hi Immanuel.
Thanks for the Laurels! I would not consider myself an expert, more like a noob with an Interest or something.
So I did not do a deep dive on what your method actually does yet, I just skimmed over it. I already have some questions though.
how would you describe the intention of your tone mapping. It’s not just about mapping high dynamic-range scenes to low dynamic range displays is it (reducing contrast to put it loosely)? sometimes you want to increase contrast?
What’s the key thing you want to achieve with this? Or differently: How are different DRTs (display rendering transforms) not achieving what you want?
For your algo, you introduce concepts of an analog medium (color particles, density) to then derive qualities. What are those qualities (pleasing, accurate, sth. else)? What would be the difference for you in “pleasing” and “color-accurate”?
You are right. I should be more precise. My point is about:
finding the “correct” chroma after remapping the images luminance from source to target. Independent from how target was created. In my case I create target from source using tonecurves on luminance, sigmoid on luminance c2g, mantiuk or contrast equalizers from dt … everything luminance-based
And now: how to shorten that in a chat title
With regard to desaturation on contrast increase: Exposure - RawPedia says the following referring to luminance tone curves:
Luminance
Each component of the pixel is boosted by the same factor so color and saturation is kept stable, that is the result is very true to the original color. However contrast-increasing curves can still lead to a slightly desaturated look for the same reason as described for the Saturation and Value Blending curve mode. If you want to manually counter-act the desaturation, using the Lab* Chromaticity slider is a more neutral way of compensating for it than using the RGB-based saturation slider.
That’s what I try to express and what my poc wants to address.
what shall happen to out-of-display-gamut values assuming they are in-camera-gamut? What working colorspace are you using? How do you transform from Camera-gamut to working colorspace? What method for gamut mapper?
So you do not want to maintain a certain range as at least somewhat 1:1 going from “scene” to “display” and only blown-out and crushed parts need adjusting? Is everything up for grabs?
Thank you. To help my understanding further, what definition of “chroma” are you using? And is your image’s Luminance Y or Y’ ?
In HSV/HSB space, a multiplier applied to a set of RGB channel values changes the value of that pixels’ chroma C and I’m not convinced that trying to keep that chroma the same ("correct’?) is a Good Thing …
the right title would maybe be: “chroma-correct” luminance blending / scaling
nobody will read this … too nerdy
I’m still in-gamut (small saturation, usual lightnesses) - so gamut handling should be done by color-management later - as soon as the image is on dislpay.
I’m referring to Luminance Y not Y’ - and of course - chroma constant is not the right thing. it is what LCh lightness blending does. Luminance blending is saturation-constant. But this is also not sufficient - see above-mentioned rawpedia article.
But here an XCF-file that shows my saturation-concept: Native Saturation.xcf (915.8 KB)
just change the exposure of the white layer to change chroma/saturation. This is my simple saturation-approach … and what I understand as chroma
But now I’ve forgotten the advantage of the above procedure as opposed to say adjusting the saturation directly in an editor or to reducing the “exposure” of a saturation layer in an HSV or in an HSL de-composition.
so in short: to ensure chromatic consistency during luminance re-mapping my method uses this blending mechanism - thats by the way a native method from GIMP … so nothing exciting from that point of view.
The point is: to overcome the obviously well-known desaturation-effect that occurs on luminance - remapping I suggest to compensate for it by systematically adopting the chromaticity on top of the luminance scaling.
By not defining “chroma” it’s beginning to appear that the goal is that of your “chromatic consistency” as in mapping CIE colors xyY1 to xyY2 the values of x,y - i.e. their chromaticities - do not change.
Sorry to ask so many questions, but I am still in the dark about how exactly you want your method to work with respect to being “accurate”.
in which one?
this is important because doing the same operation in different gamuts will change the output for your final display version.
and
would both again mean that depending on how and where you do your operation the result will be different.
All of this is fine as a creative way of doing things, but this brings me back to the question of: what do you mean by “color-accurate”?
It looks like the density adjustment is doing what other density adjustments do, reducing “brilliance”. But when you are resaturating, I doubt that you keep xy-chromaticities as they were. (Luminance adjustments should do just that, adjust xyY1 to xyY2, keeping xy untouched)
If you do want to adjust xy values away from the achromatic axis, you should be able to have an answer about the way that should happen. There can be many different answers to that question, creative and “color-accurate”. That is why I asked what you think “color-accurate” means.