[argyllcms] Re: Perceptual intent

  • From: <robert@xxxxxxxxxxxxxxxxxx>
  • To: <argyllcms@xxxxxxxxxxxxx>
  • Date: Fri, 19 Dec 2014 20:40:31 -0000


Using 
collink -v -ip -G BetaRGB.icc iPF6400-Canson-Baryta-310-Argyll-2584.icc
argBetaToBarytaPerc.icm
xicclu argBetaToBarytaPerc.icm < RGBIn.txt >RGBOutPercCL.txt
xicclu -ff -ir iPF6400-Canson-Baryta-310-Argyll-2584.icc < RGBOutPercCL.txt
> LabOutPercCL.txt

with input values RGBIn.txt of 
0 0 0
.05 .05 .05
.1 .1 .1
.15 .15 .15
.2 .2 .2
.25 .25 .25

I get LabOutcCL of
0.000516 0.000000 0.000600 [RGB] -> Lut -> 3.090265 -0.078168 1.179599 [Lab]
0.013248 0.015890 0.015559 [RGB] -> Lut -> 4.411847 -0.174127 1.381673 [Lab]
0.062613 0.077097 0.079742 [RGB] -> Lut -> 9.240508 0.026200 1.177304 [Lab]
0.129754 0.160672 0.169569 [RGB] -> Lut -> 15.422873 0.121114 0.752409 [Lab]
0.189185 0.230044 0.246638 [RGB] -> Lut -> 21.378529 0.123976 0.602648 [Lab]
0.243742 0.290048 0.310645 [RGB] -> Lut -> 27.083031 0.168332 0.457191 [Lab]

Using
xicclu -fb -ip iPF6400-Canson-Baryta-310-Argyll-2584.icc < LabIn.txt >
RGBOutPerc.txt
xicclu -ff -ir iPF6400-Canson-Baryta-310-Argyll-2584.icc < RGBOutPerc.txt >
LabOutPerc.txt

with input values LabIn.txt of
0 0 0
5 0 0
10 0 0
15 0 0
20 0 0
25 0 0

I get LabOutPerc.txt of

0.000000 0.000000 0.000000 [RGB] -> Lut -> 3.060566 -0.115180 1.191879 [Lab]
0.093685 0.113280 0.118837 [RGB] -> Lut -> 12.107669 0.325751 1.103462 [Lab]
0.154788 0.190790 0.196084 [RGB] -> Lut -> 17.785377 -0.098978 1.349102
[Lab]
0.201016 0.243456 0.253762 [RGB] -> Lut -> 22.622330 -0.108052 1.351999
[Lab]
0.246967 0.293316 0.307076 [RGB] -> Lut -> 27.415151 -0.057629 1.217678
[Lab]
0.297312 0.346474 0.361547 [RGB] -> Lut -> 32.296640 -0.061477 1.196553
[Lab]

With 
xicclu -fb -ip BetaRGB.icc iPF6400-Canson-Baryta-310-Argyll-2584.icm <
LabIn.txt > RGBOutCP.txt I get

0.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 0.000000 0.000000 0.000000
[RGB]
5.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 2.634199 0.000000 0.481095
[RGB]
10.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 3.610182 0.000000 0.659343
[RGB]
15.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 4.341092 0.000000 0.792832
[RGB]
20.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 4.947770 0.000000 0.903633
[RGB]
25.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 5.476147 0.000000 1.000133
[RGB]

Which is clearly wrong.  So with 
xicclu -fb -ip -pl BetaRGB.icc iPF6400-Canson-Baryta-310-Argyll-2584.icm <
LabIn.txt >RGBOutCP.txt

I get 
0.000000 0.000000 0.000000 [Lab] -> MatrixBwd -> 0.000000 0.000000 0.000000
[RGB]
5.000000 0.000000 0.000000 [Lab] -> MatrixBwd -> 0.094143 0.094143 0.094144
[RGB]
10.000000 0.000000 0.000000 [Lab] -> MatrixBwd -> 0.130024 0.130024 0.130025
[RGB]
15.000000 0.000000 0.000000 [Lab] -> MatrixBwd -> 0.165282 0.165283 0.165284
[RGB]
20.000000 0.000000 0.000000 [Lab] -> MatrixBwd -> 0.202681 0.202682 0.202683
[RGB]
25.000000 0.000000 0.000000 [Lab] -> MatrixBwd -> 0.242026 0.242026 0.242028
[RGB]

Then with 
xicclu -ff -ip -pl BetaRGB.icc iPF6400-Canson-Baryta-310-Argyll-2584.icm <
RGBOutCP.txt > LabOutCP.txt


I get
0.000000 0.000000 0.000000 [RGB] -> MatrixFwd -> 0.000000 0.000000 0.000000
[XYZ]
0.094143 0.094143 0.094144 [RGB] -> MatrixFwd -> 0.005337 0.005535 0.004566
[XYZ]
0.130024 0.130024 0.130025 [RGB] -> MatrixFwd -> 0.010857 0.011260 0.009289
[XYZ]
0.165282 0.165283 0.165284 [RGB] -> MatrixFwd -> 0.018403 0.019086 0.015744
[XYZ]
0.202681 0.202682 0.202683 [RGB] -> MatrixFwd -> 0.028820 0.029891 0.024657
[XYZ]
0.242026 0.242026 0.242028 [RGB] -> MatrixFwd -> 0.042574 0.044155 0.036423
[XYZ]

... don't know why I'm getting XYZ instead of Lab as you did.

So, starting again with the exact same commands as you:
colprof -v -qm -s BetaRGB.icc iPF6400-Canson-Baryta-310-Argyll-2584

With LabIn.txt of 
0 0 0
5 0 0
10 0 0
15 0 0
20 0 0
25 0 0

with
xicclu -fb -ip BetaRGB.icc iPF6400-Canson-Baryta-310-Argyll-2584.icm <
LabIn.txt > RGBOutCP.txt

I get:
0.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 0.000000 0.000000 0.000000
[RGB]
5.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 2.634199 0.000000 0.481095
[RGB]
10.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 3.610182 0.000000 0.659343
[RGB]
15.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 4.341092 0.000000 0.792832
[RGB]
20.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 4.947770 0.000000 0.903633
[RGB]
25.000000 0.000000 0.000000 [XYZ] -> MatrixBwd -> 5.476147 0.000000 1.000133
[RGB]

Which are the same values I got and which aren't the same as the values from
your commands, identical to these.  Looking at the commands I see that
BetaRGB should not be in the xicclu commands, so here goes again:

RGBOutCP.txt:
0.000000 0.000000 0.000000 [Lab] -> Lut -> 0.000000 0.000000 0.000000 [RGB]
5.000000 0.000000 0.000000 [Lab] -> Lut -> 0.042265 0.030243 0.034264 [RGB]
10.000000 0.000000 0.000000 [Lab] -> Lut -> 0.094410 0.081977 0.083767 [RGB]
15.000000 0.000000 0.000000 [Lab] -> Lut -> 0.148553 0.139288 0.138267 [RGB]
20.000000 0.000000 0.000000 [Lab] -> Lut -> 0.201001 0.194568 0.192339 [RGB]
25.000000 0.000000 0.000000 [Lab] -> Lut -> 0.252223 0.248458 0.245409 [RGB]

LabOutCP.txt:
0.000000 0.000000 0.000000 [RGB] -> Lut -> 0.000000 0.000029 0.000029 [Lab]
0.042265 0.030243 0.034264 [RGB] -> Lut -> 3.660556 0.475819 0.101401 [Lab]
0.094410 0.081977 0.083767 [RGB] -> Lut -> 8.789256 0.412706 0.269259 [Lab]
0.148553 0.139288 0.138267 [RGB] -> Lut -> 14.304563 0.230654 0.361642 [Lab]
0.201001 0.194568 0.192339 [RGB] -> Lut -> 19.674911 0.109829 0.356048 [Lab]
0.252223 0.248458 0.245409 [RGB] -> Lut -> 24.925432 0.005356 0.331250 [Lab]

Using my profile iPF6400-Canson-Baryta-310-Argyll-2584.icc instead of the
iPF6400-Canson-Baryta-310-Argyll-2584.icc profile created above, I get these
values:

RGBOutCP.txt
0.000000 0.000000 0.000000 [Lab] -> Lut -> 0.000000 0.000000 0.000000 [RGB]
5.000000 0.000000 0.000000 [Lab] -> Lut -> 0.093685 0.113280 0.118837 [RGB]
10.000000 0.000000 0.000000 [Lab] -> Lut -> 0.154788 0.190790 0.196084 [RGB]
15.000000 0.000000 0.000000 [Lab] -> Lut -> 0.201016 0.243456 0.253762 [RGB]
20.000000 0.000000 0.000000 [Lab] -> Lut -> 0.246967 0.293316 0.307076 [RGB]
25.000000 0.000000 0.000000 [Lab] -> Lut -> 0.297312 0.346474 0.361547 [RGB]

So the problem seems to be with my profile.  This is how I made it:

colprof -v -A"Canon" -M"iPF6400" -D iPF6400-Canson-Baryta-310-Argyll-2584
-qh -cmd -dpe -SBetaRGB.icc -O iPF6400-Canson-Baryta-310-Argyll-2584.icc
iPF6400-Canson-Baryta-310-Argyll-2584

Running this again I get
RGBOUtCP.txt
0.000000 0.000000 0.000000 [Lab] -> Lut -> 0.000000 0.000000 0.000000 [RGB]
5.000000 0.000000 0.000000 [Lab] -> Lut -> 0.093685 0.113280 0.118837 [RGB]
10.000000 0.000000 0.000000 [Lab] -> Lut -> 0.154788 0.190790 0.196084 [RGB]
15.000000 0.000000 0.000000 [Lab] -> Lut -> 0.201016 0.243456 0.253762 [RGB]
20.000000 0.000000 0.000000 [Lab] -> Lut -> 0.246967 0.293316 0.307076 [RGB]
25.000000 0.000000 0.000000 [Lab] -> Lut -> 0.297312 0.346474 0.361547 [RGB]

Which is the same.

Changing to a medium quality profile:
colprof -v -A"Canon" -M"iPF6400" -D iPF6400-Canson-Baryta-310-Argyll-2584
-qm -cmd -dpe -SBetaRGB.icc -O iPF6400-Canson-Baryta-310-Argyll-2584.icc
iPF6400-Canson-Baryta-310-Argyll-2584

RGBOutCP.txt:
0.000000 0.000000 0.000000 [Lab] -> Lut -> 0.000000 0.000000 0.000000 [RGB]
5.000000 0.000000 0.000000 [Lab] -> Lut -> 0.085140 0.069755 0.076932 [RGB]
10.000000 0.000000 0.000000 [Lab] -> Lut -> 0.150860 0.140602 0.142769 [RGB]
15.000000 0.000000 0.000000 [Lab] -> Lut -> 0.208403 0.204964 0.201500 [RGB]
20.000000 0.000000 0.000000 [Lab] -> Lut -> 0.263585 0.261491 0.256213 [RGB]
25.000000 0.000000 0.000000 [Lab] -> Lut -> 0.316829 0.315121 0.309084 [RGB]

Which is even worse.

So we're down to the viewing conditions, removing them:
colprof -v -A"Canon" -M"iPF6400" -D iPF6400-Canson-Baryta-310-Argyll-2584
-qm -SBetaRGB.icc -O iPF6400-Canson-Baryta-310-Argyll-2584.icc
iPF6400-Canson-Baryta-310-Argyll-2584


Gives this:
0.000000 0.000000 0.000000 [Lab] -> Lut -> 0.000000 0.000000 0.000000 [RGB]
5.000000 0.000000 0.000000 [Lab] -> Lut -> 0.042265 0.030243 0.034264 [RGB]
10.000000 0.000000 0.000000 [Lab] -> Lut -> 0.094410 0.081977 0.083767 [RGB]
15.000000 0.000000 0.000000 [Lab] -> Lut -> 0.148553 0.139288 0.138267 [RGB]
20.000000 0.000000 0.000000 [Lab] -> Lut -> 0.201001 0.194568 0.192339 [RGB]
25.000000 0.000000 0.000000 [Lab] -> Lut -> 0.252223 0.248458 0.245409 [RGB]

So there you have it.  Either I should not have been using the -d/-c
parameters, or I was using them incorrectly, or they aren't working as they
should.

Your documentation says:
" Since appearance space is used in the gamut mapping (just as it is in
collink), the viewing conditions for the source and destination colorspaces
should really be specified. The source colorspace is the profile specified
with the -s or -S flag, and the destination is the profile being created.
The -c and -d options allow specification of their respective, associated
viewing conditions. The viewing condition information is used to map the
profile PCS (Profile Connection Space, which us either XYZ or L*a*b*) color
into appearance space (CIECAM02), which is a better colorspace to do gamut
mapping in. The viewing conditions allow the conversion into appearance
space to take account of how color will be seen under particular viewing
conditions.

Viewing conditions can be specified in two basic ways. One is to select from
the list of "pre canned", enumerated viewing conditions, choosing one that
is closest to the conditions that are appropriate for the media type and
situation. Alternatively, the viewing conditions parameters can be specified
individually. If both methods are used, them the chosen enumerated condition
will be used as a base, and its parameters will then be individually
overridden."

Which would indicate to me that -cmd (monitor darkened environment) and -dpe
(Print evaluation environment (CIE 116-1995), whatever that is) are not
unreasonable choices for someone who doesn't know the front end from the
back end of color management.  Any chance of an ArgyllWiki for people like
me??

Robert

-----Original Message-----
From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx]
On Behalf Of Graeme Gill
Sent: 19 December 2014 03:24
To: argyllcms@xxxxxxxxxxxxx
Subject: [argyllcms] Re: Perceptual intent

robert@xxxxxxxxxxxxxxxxxx wrote:

> Input Lab:
> 0 0 0
> 5 0 0
> 10 0 0
> 15 0 0
> 20 0 0
> 25 0 0

> xicclu -fb -ip iPF6400-Canson-Baryta-310-Argyll-2584.icc < LabIn.txt >
> RGBOutPerc.txt
> xicclu -ff -ir iPF6400-Canson-Baryta-310-Argyll-2584.icc < RGBOutPerc.txt
>
> LabOutPerc.txt
> 
> LabOutPerc:
> 0.000000 0.000000 0.000000 [RGB] -> Lut -> 3.060566 -0.115180 1.191879
[Lab]
> 0.093685 0.113280 0.118837 [RGB] -> Lut -> 12.107669 0.325751 1.103462
[Lab]
> 0.154788 0.190790 0.196084 [RGB] -> Lut -> 17.785377 -0.098978 1.349102
[Lab]
> 0.201016 0.243456 0.253762 [RGB] -> Lut -> 22.622330 -0.108052 1.351999
[Lab]
> 0.246967 0.293316 0.307076 [RGB] -> Lut -> 27.415151 -0.057629 1.217678
[Lab]
> 0.297312 0.346474 0.361547 [RGB] -> Lut -> 32.296640 -0.061477 1.196553
[Lab]

Hmm. I don't seem to be able to reproduce this using ArgyllCMS V1.6.4
and iPF6400-Canson-Baryta-310-Argyll-2584.ti3.

 colprof -v -qm -s BetaRGB.icc iPF6400-Canson-Baryta-310-Argyll-2584

 xicclu -fb -ip BetaRGB.icc iPF6400-Canson-Baryta-310-Argyll-2584.icm

 0.000000 0.000000 0.000000 [Lab] -> Lut -> 0.000000 0.000000 0.000000 [RGB]
 5.000000 0.000000 0.000000 [Lab] -> Lut -> 0.050355 0.060310 0.066793 [RGB]
 10.000000 0.000000 0.000000 [Lab] -> Lut -> 0.101233 0.124620 0.134408
[RGB]
 15.000000 0.000000 0.000000 [Lab] -> Lut -> 0.148904 0.183389 0.194024
[RGB]
 20.000000 0.000000 0.000000 [Lab] -> Lut -> 0.193081 0.235099 0.249523
[RGB]
 25.000000 0.000000 0.000000 [Lab] -> Lut -> 0.235890 0.281853 0.300302
[RGB]

 xicclu -ff -ip BetaRGB.icc iPF6400-Canson-Baryta-310-Argyll-2584.icm
 0.000000 0.000000 0.000000 [RGB] -> Lut -> 3.071996 -0.122961 1.209347
[Lab]
 0.050355 0.060310 0.066793 [RGB] -> Lut -> 7.972708 0.042567 0.920840 [Lab]
 0.101233 0.124620 0.134408 [RGB] -> Lut -> 12.787678 0.234014 0.656856
[Lab]
 0.148904 0.183389 0.194024 [RGB] -> Lut -> 17.339104 0.090090 0.825353
[Lab]
 0.193081 0.235099 0.249523 [RGB] -> Lut -> 21.843034 -0.005534 0.834039
[Lab]
 0.235890 0.281853 0.300302 [RGB] -> Lut -> 26.271473 0.047683 0.653987
[Lab]

i.e. I don't see L* 25 in becoming L* 33 out.

Can you double check your numbers (ie. have you skipped the 5 0 0 value ??)

Graeme Gill.




Other related posts: