I've been using LCMS for a while now. I think its great!
I have a question:

Why does it call "_cmsToFixedDomain" at every stage in
the BToA pipeline? To my thinking, this messes up the
values, because the results of one transform are modified
slightly before they go through the next translation. This
makes it difficult, if not impossible, to align the interpolations
in even boundaries, so that creating accurate profiles is very difficult.

Here is what I see as the typical Curve/LUT/Curve translation,
using the BtoA table as an example, with LAB PCS.

1. start with lab [0..100    -128..0..127    -128.0.127 ]
2. convert lab to uint16 encoding  [L* a* b*]: 
       [ 0..65280   0..32768..65280   0..32768..65280 ]
       [ 0..xFF00   0..x8000..xFF00   0..x8000..xFF00 ]
3. first curve:
 3a. convert to "fixed domain"
       a ->  a + ((a + x7fff) / xffff);
 3b. look up in table to get N
4. LUT
 4a. convert N to fixed domain
       N ->  N + ((N + x7fff) / xffff);
 4b. look up in LUT to get M
5. second curve
 5a. convert M to fixed domain
       M ->  M + ((M + x7fff) / xffff);
 5b. look up in table to get Result

The fact that (X + x7fff) / xffff  gets added in at each
stage is very annoying.. is there a good way to think
about this that makes sense?

Note that the ICC spec says this:

"If the input is the XYZ PCS, 1+(32767/32768) shall be mapped to the value 1,0. 
If the output is the XYZ PCS, the value 1,0 shall be mapped to 1+(32767/32768)."

But this only happens when using XYZ. Whe does LCMS do it with Lab?

Will


------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to