[argyllcms] Re: Custom Illuminant

  • From: <robert@xxxxxxxxxxxxxxxxxx>
  • To: <argyllcms@xxxxxxxxxxxxx>
  • Date: Fri, 4 Jul 2014 14:42:15 +0100

Roger,

Before I ask you any more questions about Custom Illuminants, I wonder if
you would be kind enough to answer another (rather long) question for me?
I'm trying to get a better understanding of how an ICC profile achieves its
objective because if I did I think it might answer quite a number of my
questions.

Perhaps I could explain what my current understanding of, say, a BtoA1
mapping does.

LUT
1. The individual L*a*b* (or XYZ if the PCS is in XYZ)) values are fed into
B-curves, one for each channel, which corrects something (I don't know
what).
2. The Lab output of the B-curves may be fed into a chromatic adaptation
matrix (the chad tag) to make corrections from D50 to, say, a Solux lamp as
illuminant. I assume (probably incorrectly) that what this does is to bump
up the blues and maybe the greens (in the case of the Solux lamp) and dampen
down the reds, so that the general color balance of the print under the
Solux lamp will be close to the color balance under a D50 illuminant.
3. The Lab output of the chromatic adaptation matrix, if it exists, is (may
be?) fed into M-curves which corrects something (I don't know what). 
5. The outputs of the B-curves or the M-curves (if they exist) are fed into
the color LUT. This maps the Lab values to RGB values (and does the gamut
mapping? or is the gamut mapping done using the gamt tag data?).
4. The RGB values are fed into A-curves which correct for the non-linearity
of the printer.
5. The corrected RGB values are sent to the printer. 

Is this correct? If not, perhaps you would be kind enough tell me where I've
gone wrong? Also, what do the B-curves and M-curves do?

There is also a gamt tag in the profile.  Is this used for gamut-mapping? If
it is used for gamut mapping, which would make sense, then would I be right
in assuming that the single output value indicates in-gamut if it's 0; 65535
indicates so far out of gamut that it can only be clipped; values in between
indicate the distance of the color from the white point, so it can be used
to compute (by iteration?) the nearest point on the gamut envelope. Or
something along those lines?
 
And, lastly, in the Argyll profiles I don't see a 'chad' tag even though the
profile's for a non-D50 illuminant.  Does that mean that there is no
chromatic adaptation being done?  The profile was created using -i and a .sp
file.

Roger ... if you don't have the time or interest to reply, please don't!  I
really won't be offended!

Cheers,

Robert
-----Original Message-----
From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx]
On Behalf Of Roger Breton
Sent: 03 July 2014 20:55
To: argyllcms@xxxxxxxxxxxxx
Subject: [argyllcms] Re: Custom Illuminant

I meant "XYZ (linear) normalization to the raw XYZ measurements of the
"substrate* is applied so that Lab becomes L100 a0 b0 for the paper color."

Roger
 
-----Original Message-----
From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx]
On Behalf Of Roger Breton
Sent: 3 juillet 2014 13:50
To: argyllcms@xxxxxxxxxxxxx
Subject: [argyllcms] Re: Custom Illuminant

Robert,

The shift will be the same throughout. 

Think of the way that the raw colorimetric measurements for an output
profile are first encoded into the PCS: there is XYZ (linear) normalization
to the raw XYZ measurements applied so that L=100 a=0 b=0 on the device
paper. That's what gets encoded into the RelCol tag (A2B0).

Roger




Other related posts: