*From*: Graeme Gill <graeme@xxxxxxxxxxxxx>*To*: argyllcms@xxxxxxxxxxxxx*Date*: Sat, 05 Nov 2005 07:16:44 +1100

`Roberto Michelena wrote:
`

Let me ask this which has been floating on my mind for some time: When you do a reverse interpolation (as in your -G option), will it be 100% coincident with it's corresponding forward one? In other words, Lab->CMYK->L'a'b will result in perfect match between Lab and L'a'b when both are made from the same table (A2B), using the reverse mapping method as in "-G" option?

Generally, yes. The assumptions for this to be true are:

The forward interpolation is using simplex (Tetrahedral in 3D). The point is in gamut.

Obviously for CMYK there are almost always multiple solutions, but all the solutions will be a PCS match if it is in gamut.

One of the main limitations of all this profiling stuff is that it is all using sampling, with the assumption that things are "well behaved" between sample points. This assumption is more likely to be true in the forward direction than the reverse, because the adjacent reverse solutions can be from quite different device locations (depending on the characteristics of the device.)

To put it in perspective (why is it important):

Take a pair of devices and their measurements, e.g. Press and Proofer. You get two profiles, ICCPress and ICCProof with also contain the measurements (albeit smoothed) in their A2B tables. Make a link via standard method, abscol; ICCLink1 Make a link via -G method, abscol; ICCLink2

process a set of arbitrary CMYKpress source values through ICCLink1 and you get CMYKproof1 process the same set through ICCLink2 and you get CMYKproof2

Now process CMYKProof1 through ICCProof A2B and you get LabProof1 Do the same with CMYKProof2 and you get LabProof2

Process CMYKpress through ICCPress A2B and you get LabPress

comparing LabProof1 to LabPress, and LabProof2 to LabPress, should yield a closer match for LabProof2, right? this would indicate the reverse interpolation (-G) is more precise than the double interpolation incurred when building B2A and then linking to it. (it'd be interesting to see this numbers!)

That's what I'd expect (and what experience shows.) It's one of the reasons iterative improvement doesn't seem to buy much in Argyll.

The question is, will LabProof2 be an exact match to LabPress? in other words, the reverse interpolation is mathematically coincident with the forward one?

No. Because the set of arbitrary CMYKpress source values won't usually fall on the grid points used to compute the ICCLink2 reverse lookup values, so they will be interpolated, so they will be inexact.

To get an exact match, you would have to process the arbitrary CMYKpress source values themselves using xicclu through ICCPress and ICCProof (using xicclu -fif on the latter of course).

I mean, we are always assuming (and I believe it's a fine assumption) that the prediction of LabPress and LabProof given by interpolation on their respective A2B tables is the most exact tool we have. Not that it's exact, but it is more accurate than all other tables and interpolations we use. So if we make these match in a link, that link would be as accurate as one can get without further printing, right?

No. See above. The accuracy is better than concatenating a forward table and reverse table though.

Graeme Gill.

**Follow-Ups**:**[argyllcms] Re: interpolation reversibility***From:*Roberto Michelena

**References**:**[argyllcms] interpolation reversibility***From:*Roberto Michelena

- » [argyllcms] interpolation reversibility
- » [argyllcms] interpolation reversibility
- » [argyllcms] Re: interpolation reversibility
- » [argyllcms] Re: interpolation reversibility
- » [argyllcms] Re: interpolation reversibility