Color calibration test and some thoughts

ART
exposure compensation -1EV
highlight reconstruction off
tone curve film-like
local contrast

2 Likes

Can you recommend settings for dummies like me? I donā€™t work in a lab, but in our living room; sometimes, I develop my photos at night, beside a warm white desk light; sometimes during the day, by the window, and outside it may be sunny, or it may be raining. Therefore, simply trusting my eyes may not lead to consistent results.

  • Iā€™d think that at least the ā€˜clipping indicationā€™ should be useful. The defaults are, I think, ā€˜full gamutā€™, -12.69 EV (8-bit sRGB), 99.99%.
  • For the histogram (as I never print and just post online), should sRGB be good choice?
  • Or should it be one of Rec2020 PQ and HLG? And which one? They are not even remotely similar:


Based on those screenshots, will my highlights be clipped in output? Will my blacks be grey, or have large black spots? Do I make full use of sRGB, which looks like this (not too far off from HLG Rec2020):

  • Should I just ignore gamut checking?
    ā€“ Or only use it when I adjust OOG colours in CAT?
  • Which setting (softproof or histogram) does gamut checking use? (Update: experimenting shows it uses softproof.)
  • Does the clipping indicator use the same one? (It seems to use a weird combination of display + histogram, see the different sets of pixels highlighted by the clipping indicator.)


3 Likes

You seem to be hitting this issue: Choice of display profile affects histogram, color picker values and overexposure indicators Ā· Issue #3271 Ā· darktable-org/darktable Ā· GitHub
i.e. the display profile affects the clipping indications and histogram even if it shouldnā€™t.

Iā€™ve found the ISO 12646 colour assessment conditions (the lightbulb icon in the same toolbar as the clipping and softproofing toggles) pretty useful in this kind of a situation for better judging the middle grey exposure and the highlights. Also I usually adjust the (laptop) display brightness to match the environment.

3 Likes

Thnaks for the explanation, Iā€™ve realized only today that is possible to brighten the image with the level tool before the profile conversion and it works too.


DSC_7355.nef.xmp (9.4 KB)

1 Like

But why are you hurting yourself like that ? It does not ā€œworkā€, you are merely exploiting a drawback of some algo to desaturate in an uncontrolled way and the profile is designed to work on linear RGB input, while you are now feeding it non-linear RGB, so itā€™s basically wrong.

1 Like

People at the aces central forum have developed a fast rgb gamut compression https://community.acescentral.com/t/wrapping-up-the-architecture-vwg/3433
Really great stuff :blush:

Iā€™ve implemented a semplified version for gā€™mic.
There are only two parameters, gamut that is the strength of compression and threshold, under this value the distance (ā€œsaturationā€) is untouched

the steps are
1)found achromatic , same as Value in HSV
2)found distance, similar to Saturation in HSV
3)apply tonemapping on ā€œdistanceā€
4)come back to rgb

Here itā€™s explained very well https://paper.dropbox.com/doc/ACES-Gamut-Mapping-Architecture-VWG-Technical-Documentation-Deliverable-tZHiuOCj0RdYw8PPkrTam

This is the the Gā€™mic code, however it works in Photoflow but not in Gimp :thinking:

-fill \
gamut=1.3;\     
thr=0.79;\             
thr1=(thr*(1+thr/(gamut*gamut)))/(1+thr);\
i=i/255;\
ach=(max(i0,i1,i2))/255;\     
distance=(ach-i)/ach;\          
compressed_distance=(distance* (1+distance/(gamut*gamut)))/(1+distance);\   
compressed_distance=((((compressed_distance-thr1)/(1-thr1))*(1-thr))+thr);\
compressed_distance=if(distance<thr,distance,compressed_distance);\
i=ach-(compressed_distance*ach);\                                                   
i=i*255;

DSC_7355.pfi (22.7 KB)

original

simplified rgb gamut compression

1 Like

How is blue degrading to magenta ā€œgreatā€ ?

2 Likes

A lot, at least with the idea behind it we could:

a) use the formula sat= (max - min)/max as a mask for the detection of oog colors in the current rgb working space, only values higher than 1 are outside of the gamut.
We could even clamp this mask to 0-1 and it would be useful for less global desaturation where itā€™s not needed.

b)restore luminance and hue from the original not desaturated image

EDIT:
Itā€™s easy to keep the ā€œrgb hueā€ locked, just use the same strategy used in the filmlike curve in Rawtherapee and Lightroom.
Basically apply the tonemapping function on the max channel, in this special case the minimum channel is always normalized to 0 and linearly interpolate the middle value with the formula : middle= (middle / oldmax) * newmax

In this way the new middle value keep the same relative distance from the max and min channels (same hue).

Iā€™m not sure you got the answer here and not sure I could advise you better than you already know but you might find this interestingā€¦esp the last few comments near the end which are more recentā€¦ as you can see the users are not the only ones that get confused by these thingsā€¦ Choice of display profile affects histogram, color picker values and overexposure indicators Ā· Issue #3271 Ā· darktable-org/darktable Ā· GitHub

1 Like

What really bother me isnā€™t the hue shift but the flat and washed out look, using the power norm instead of the max rgb helps preserving the ā€œluminanceā€.

Gamut compression using the power norm

With rgb curve and raised saturation

1 Like

My standard settings and filmic adjustments onlyā€¦

image

1 Like