I should be getting on with a new fitted kitchen for wife but wondered if I could remove the problems with the reflections on the rail/pipe.
So quick develop with rawtherapee. -1.3 stops exposure and a bit of work on the black end of a curve to bring those up a bit. Then fotoxx. Curves,colour, warmth,select reflections-desaturate-adj brightness- then the blend brush over them. Worked pretty well and could be improved further with a bit of a smear in the gimp. Then cropped, reduced and sharpened. Then the gimp. Duplicate layer, softlight with a very quickly painted mask to bring back shadow detail just leaving it active on the sky. Matter of taste, I used 25% opacity on it.
i=[r,g,b]
max=max(r,g,b)
min=min(r,g,b)
lum=(r^3+g^3+b^3)/(r^2+g^2+b^2)
rtm=(1-(pivot/((r/gray)^power+pivot))) // tone mapping or simple tone curve on the red channel
gtm=(1-(pivot/((g/gray)^power+pivot)))// tone mapped or simple tone curve on the green channel
btm=(1-(pivot/((b/gray)^power+pivot)))// tone mapped or simple tone curve on the blu channel
crgbtm=[rtm,gtm,btm]
maxtm=max(rtm,gtm,btm)
mintm=min(rtm,gtm,btm)
lumtm=(rtm^3+gtm^3+btm^3)/(rtm^2+gtm^2+btm^2)
chromatm=1-(mintm/lumtm)
chroma2=1-(min((r-lum+lumtm),(g-lum+lumtm),(b-lum+lumtm))/lumtm)
chromamult=if(chromatm==0||chroma2==0,0,chromatm/chroma2)
i=[r,g,b]
final_image=((i-lum)*chromamult+lumtm)*0.60+crgbtm*0.40;
Color profile turned off.
White point picked on grey deck in foreground.
Black point reset to 0
Enhanced Edges and Residual contrast in Wavelets
L*a*b* color stretch, shift cyan sky to blue.
HSV Hue channel bumped pink sunset color to more natural yellow-orange gradient. IMG_3129.jpg.out.pp3 (16.3 KB) ← RT dev
Another , and sadly I will not continue to try something new, is to copy the hue from CIE xyY to the rgb tonemmaped image
(Edit: It seems the copying the hue from xyy is better for noisy images)
in this case I blended the hue from xyY at only 60% strength IMG_3129xyy.pfi (47.7 KB)
CIE xyY is not a perceptual color space so if we blend the hue at 100% strength we could get pinkish colors, for example the fire test image turn to this
Hi @age, it’s been nice to follow your experiments. The results look quite nice. I would like to ask for a couple of clarifications:
Is your tone-mapping followed by some hue-preserving gamut-mapping (or chroma clipping) operation (in a perceptual colorspace)? Pardon my ignorance here, I’m not very familiar with Photoflow.
I’m curious about the way you handle chroma here - you seem to use the difference between the norm and individual channels as the representation of chromaticity. Is there a particular reason you chose to do this rather than just multiply the original RGB ratios (i.e. (r / norm, g / norm, b / norm) by the tonemapped norm? I.e. final RGB (color preserving) = tonemapped norm / original norm * (r, g, b). This is the way it’s done in filmic. If I understand correctly, your approach is to rather adjust the amount of white in the pixel.
Blending in the individually processed RGB channels with the color-preserving tone-mapping results seems to be a nice way to achieve bit of that desaturation of highlights that is often desired or even required for some images and restoring the original hue (partially), even if done in xyY which is not a hue-linear color space, allows to avoid the color shifts caused by individual RGB processing
Are there any research papers / other resources you’ve found useful or followed in developing the tone-mapping operation?
Have you experimented with tone-mapping (or just the hue preservation) in perceptual color spaces such as Oklab?
The reason I’m curious because there have ideas thrown around in IRC about a possible filmic v7 which would allow the user to mix between the individual RGB processing result and the norm-preserving result, and additionally a control for the degree of hue preservation. This shares some similarity with your approach and would certainly allow for some flexibility over a strict chromaticity preserving approach.
P.S. moderators, if you see this spinning totally off-topic for this thread, please feel free to split it. However I wanted to ask here because @age has posted nice results from their tone-mapping and also code in this thread so the context is here.