[argyllcms] Perceptual intent in Display profiles?

  • From: Michel Joly de Lotbinière <michel@xxxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Thu, 19 Nov 2009 18:37:10 -0500

Hello,

I ran a calibration/profiling on my notebook's LCD using argyll 1.0.4
and Florian Höch's dispcalGUI, making a LUT profile (matrix profiles
were not good on the neutral grayscale quality measure) and using the
512 patch target provided with dispcalGUI. Yhe options were dispcal -v
-d1 -c1 -yl -qh -m -t6500 -gs -f0 -a200 -k0 and colprof -v -qh -al The
LCD's LUT accuracy is measured to be 8 bit, and the 100-patch profile
test gave something like a maximum deviation of 2.8 deltaE and an
average of 0.8dE. I can't complain: the Monaco Optix LUT profile was
something like 2 or 3 times greater on those measures.

The visual improvement in the display is considerable, although these
displays are not, obviously, capable of super accurate performance.
And the gamut volume is  barely more than 55% of sRGB, if I'm to
believe the information given by the gamut comparison utility at
iccview.de

But the remaining problem is this: shadow detail was removed from
images when viewed in a color managed application with the video LUT
loaded, while it was present when viewed in a non-managed viewer with
the video LUT loaded.

Initially I hadn't used the ambient light option on dispcal and the
difference between RGB(0,0,0) and RGB(5,5,5) patches seemed to be
barely perceptible in a color managed program (although a non-managed
program displayed them clearly with the monitor calibration curve
loaded), even with very dim surroundings. So I tried dispcal -a200 and
that seems to improve matters, the difference is perceptible, and
RGB(2,2,2) is just barely visible in dim ambient light surrounding the
screen.

Here's what it does with icclu (I hope I have the options right!):

icclu -s 256 -fb -ir "DISPLAY3 2009-11-14 max D6500 min native sRGB
200lx HQ LUT.icm" < 0-9-91-100-Lab-triplets.txt
0.000000 0.000000 0.000000 [Lab] -> Lut -> 1.152313 0.000003 0.000004 [RGB]
1.000000 0.000000 0.000000 [Lab] -> Lut -> 2.514642 1.512020 0.391941 [RGB]
2.000000 0.000000 0.000000 [Lab] -> Lut -> 3.862856 2.998367 0.783878 [RGB]
3.000000 0.000000 0.000000 [Lab] -> Lut -> 5.198951 4.456532 1.171908 [RGB]
4.000000 0.000000 0.000000 [Lab] -> Lut -> 7.631482 6.906010 3.541074 [RGB]
5.000000 0.000000 0.000000 [Lab] -> Lut -> 10.198043 9.635550 6.214755 [RGB]
6.000000 0.000000 0.000000 [Lab] -> Lut -> 12.893085 12.361375 9.058784 [RGB]
7.000000 0.000000 0.000000 [Lab] -> Lut -> 15.286773 14.854340 11.452832 [RGB]
8.000000 0.000000 0.000000 [Lab] -> Lut -> 17.498889 17.065008 13.848722 [RGB]
9.000000 0.000000 0.000000 [Lab] -> Lut -> 19.906143 19.290144 16.274801 [RGB]
10.000000 0.000000 0.000000 [Lab] -> Lut -> 22.101790 21.502601 18.475830 [RGB]

Then I read the mailing list exchange between Gustavsen and Gill
//www.freelists.org/post/argyllcms/In-the-shadowlands :

<START QUOTE>
Lars Tore Gustavsen wrote:
[...]
In practical viewing
it means the test image posted in another e-mail
http://www.fc-prints.de/fileadmin/daten/fcPrints_Testbild_100ppi.jpg,
none of the numbers below 5 or so at top right are visible in firefox
with a lut based profile. I can see all the black numbers in a not
color aware viewer, but with my calibration loaded. If I view the same
image with a perceptual rendering intent and a lut based profile it
looks almost fine. A matrix profile also handles this well but the
overall accuracy elsewhere are much poorer.
[...]
Thanks
When I look at the above mentioned image without my calibration loaded
in a not color aware browser I can see the numbers down to 5-4. When I
load the calibration curve, still viewing in the same viewer, I get
all numbers down to 1. When I enable relative colormetric in a color
aware viewer and with my calibration loaded I'm back to five.
Perceptual give me 2-1 on the above image.
It was wrong what I wrote about the matrix profile in my last e-mail.
The matrix profile gives me 5.

I created a collections with screenshoots, but I don't think they can
view the real truth on any other monitors than mine.
http://mulebakken.net/div/monitor-f.png

Gill replied: Right, so it sounds like the calibration is working OK,
and that the
native behaviour of the display is to have a "dead" region
just above zero (not unusual).


Gill cited Gustavsen   "When I enable relative colormetric in a color
    aware viewer and with my calibration loaded I'm back to five."

and replied:

Presumably this is with the profile created with the calibration
in place.

This is also not unexpected when the source colorspace is
idealised (such as sRGB, AdobeRGB etc., having a zero
XYZ/L* for RGB = 0), and no proper luminance range mapping
is being performed in the profiling linking (typical of relative
colorimetric or dumb perceptual).

This is what black point compensation or true perceptual gamut
mapping addresses.

<END QUOTE>

So, was the dispcal ambient light -a option the right correction to
use to solve the problem of disappearing color-managed shadow detail?
How is it possible to get those other intents into the generated
profile so I can try out the gamut mapping method? At the moment, the
LUT profile just has the "relative colorimetric" tables in it.

I use a photo editor that uses the LittleCMS color mangement module
and that gives a choice of the perceptual, absolute or relative
colorimetric, relative colorimetric w/BPC, or saturation intents.
"Perceptual" is the recommended setting, and I'm assuming LittleCMS
just uses the relative colorimetric tables verbatim, since nothing
changes visually in the test fc-prints.de digital file mentioned in
Gustavsen's email when I switch intents.

What options do I give colprof to generate the other tables? I'm
uncertain: what to specify as a reasonable "source color space" -S
option that would enclose most of the usual colors in digital
photography images? I.e. something a little larger than sRGB, but not
too large? Or use the LCD manufacturer's supplied icc profile (without
calibration curve) for the LCD panel, that the iccview.de comparision
measures as 80% of the sRGB volume--should I use that? Or should I use
some reasonable profile for reflective media (e.g. a typical inkjet
printer)--but as I'm not looking at reflective media while editing
pictures, how can that be a correct choice?

Any enlightenment much appreciated! Sorry for the length of this
email, try not to quote it wholesale in any replies.

Other related posts: