[argyllcms] Re: How do I force dispcal to always map R0 B0 G0 -> R0 B0 G0 on the calibrated video LUT?

  • From: Alexander <adfirestone@xxxxxxxxx>
  • To: argyllcms <argyllcms@xxxxxxxxxxxxx>
  • Date: Mon, 21 Dec 2009 06:41:09 -0800

>  I believe this may come back to the Eye-One Pro's weakness with
>> differentiating between very close together dark measurements. Along with
>> the issue of the Eye-One Pro detecting 0.00cdm2 as 0.05cmd2 randomly on my
>> CRT. The Eye-One is probably telling Argyll there is a dead zone, even
>> though I can see with my eyes that there is not. When I am in a dark room
>> that is obviously inaccurate since the screen is bright grey instead of
>> black.
> I think you are asking a lot of any instrument worth less than $10000,
> to expect a good reading below 0.05 cm/d^2. Adaptive mode may improve
> things at low levels with the i1pro, although because it then switches
> integration time and gain, it may introduce discontinuities.
>  If would be nice if you could add some sort of override for heuristic,
>> since
>> it does sounds like it would prove useful for my situation.
> dispcal and printcal -V in the next release.
> Graeme Gill.
Well if I take the specifications of the Eye-One Pro literally (*Measurement
range:* 0.2 ... 300 cd/m2) then I shouldn't be expecting accurate readings
below 0.20 cd/m2. In practice it may be a bit better then 0.20cd/m2 (maybe
0.15cd/m2) but the Eye-One Pro does seem utterly unreliable below 0.10cd/m2,
at least on a CRT. If I do multiple measurement of the same pitch black
screen, Argyll reports values seemingly at random jumping around between
0.00cd/m2 and 0.08cd/m2. Because of this it also appears, for example, to
sometimes think a measurement of a R5-G5-B5 patch may have a luminance
reading of 0.08cd/m2, while it measured a R10-G10-B10 patch as 0.01cd/m2,
and a R0-G0-B0 patch as 0.05cd/m2 which must cause a bit of chaos, and may
explain why Argyll overcompensates by brightening up the black-point

That said, thinking about this a bit more, would it not make sense to add
some sort of 'accurate measurement range' parameter to Argyll?

So for example, if I set the minimum accurate measurement range to 0.15
cd/m2, once Argyll reads a patch with a luminance of 0.15 cd/m2, it then
records it as the lowest valid reading. It would skip all patch measurments
between 0.00-0.15 cd/m2 and in just evenly space any remaining luminance
measurements below 0.15cd/m2 (since Argyll appears to calculate the native
gamma of the the display, it should be able to make a reasonably accurate
guess of where those low luminance values would likely fall on the gamma
curve) while using the same R:B:G ratio that was found when measured at

From the looks of it BasICColor already does something similar to the above,
since it consistently reads very dark black values all as 0.00-0.01cd/m2,
and then always maps R0 B0 G0 -> R0 B0 G0 on its calibrated video LUT curve.
The only problem with BasICColor is it appears to sacrifice accuracy for
speed by using the fewest calibration/adjustment points possible when
generating it's video lut and ICC profiles.

Now before getting too far astray, can you say a little more about how that
-V parameter will work?

Will the -V parameter have a number value after it? If not, then I assume it
just tells Argyll to disable heuristics?

When heuristic mode is disabled, how will Argyll behave differently
internally?  What should it do instead when it runs into a problem like the
one I have been trying to describe? Would there be any other situations,
other then the one I describe, that disabling heuristic mode may be useful?

@andrzej duda   I'll try testing those parameters at some point today and
see if it helps at all. Not particularly hopeful, but it's worth a shot.

Other related posts: