[argyllcms] Re: XICCLU ?

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Wed, 10 Nov 2021 10:41:38 +1100

Yves Gauvreau wrote:

Hi,

I came up with a situation, I'm using this generic command line here "xicclu 
-ir -pl -s255 -v0
name_of_profile.profile_extension".

My goal was to verify if the profile converts neutral RGB values to neutral 
Lab values.

the result will depend on how accurately the measured response has been 
normalized to
the PCS D50 white, what sort of model it is (i.e. matrix, cLUT, with/without 
per channel
Luts etc.), what ICC encoding space is used (i.e. XYZ, 8 bit L*a*b*, 16 bit 
L*a*b*, floating
point for V4+ version profiles), and how accurately it has been encoded.

In addition the details of the CMM implementation come into play when
exercising the model :- is it implemented using integer or floating
point calculations, what precision, and at what point (if any) is
rounding applied. There can also be bugs if the standard has
been misunderstood, or in areas where it is somewhat unclear,
under-specified, or it clashes with established practice.

xicclu -ir -pl -s255 -v0 ProPhoto.icm < neutrals.txt
0.000000 0.000000 0.000000
60.351602 0.000000 0.000000
100.000000 0.000000 0.000000

transicc -v -t1 -iProPhoto.icm -o*lab2 < neutrals.txt
LittleCMS ColorSpace conversion calculator - 5.0 [LittleCMS 2.12]
Copyright (c) 1998-2020 Marti Maria Saguer. See COPYING file for details.
0.0000 0.0000 0.0000
60.3521 0.0003 -0.0003
100.0000 0.0005 -0.0004

Curious to now if any of you have an idea why?

Originally Marti used integer calculations in implementing lcms.
At some stage he added floating point support, but I don't
know if that is now the default. ArgyllCMS has always used
floating point thru-out. What the actual explanation is
for the difference, I don't know - you would have to
compare the implementations of the CMM's step by step
for that particular calculation flow to discover this.

Cheers,
        Graeme Gill.

Other related posts: