[argyllcms] Re: 0.60 CMYK profile misshaped

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Thu, 07 Dec 2006 18:06:14 +1100

Gerhard Fuernkranz wrote:

My feeling is that for this particular measurement set the default
smoothness of V0.60 is rather too high for best accuracy (w.r.t. to data
not part of the training set), but on the other hand the device behavior
looks a bit strange anyway; possibly the device is not well linearized.
E.g. for the cyan channel, the max. C* is reached at approx. 70...75%
cyan, and the C* vs. hue plot of the channel also shows a hook with a
_aharp_ bending beyond this limit, while the hue is nearly constant up
this limit. Sometimes it is possibly better, not to use the channels up
to 100%, but to sacrifice a little bit of the max. possible gamut in
favor of achieving more well-behaved overall device characteristics
(i.e. to establish a calibration which eventually maps/reduces 100% cyan
to say 70...75% cyan in this case). The magenta channel seems to be
saturated at approx. 80% too, the yellow and black channels IMO look fine.

I was going to look at the Cyan and Magenta channel response, suspecting
they were doing something like this, but you've saved me the trouble :-)

I'm not uses to seeing data like that, since a good calibration system
will stop before a channel starts going negative. (My personal
criteria would be when the delta E to white levels off with increasing
colorant, rather than an individual measure like Chroma.)

In theory the profiler can model such behaviour, if the resolution of
the test chart grid, and the profile grid is high enough.

I did try playing with different smoothing levels, but they didn't
make a whole lot of difference. The behaviour is so sharp, even the
V0.53 profile doesn't really track it properly.

Btw, Graeme, I'm wondering whether it might possibly be useful, if
profile would compute per channel calibration curves for the CMYK
channels and use them as prelinearization tables, if single-channel
C,M,Y,K ramps with reasonable resolution are present in the
measurements? (instead of (or alternatively in addition to) the
shaper/matrix/shaper optimization which is done currently)

It's on my list of things to do, to add a calibration system
that could be used within an ICC workflow, or applied as separate
process, but I haven't got around to it just yet....

In theory the per channel curve modelling is meant to pick
channel non-linearity stuff up, since it can model behaviour in more
detail than the 4D grid, but in practice it has limitations. One
limitation is that the per channel curves have to be monotonic,
and it therefore tends to "average out" non-monotonic sections,
which is probably not the very best behaviour. It's difficult
to figure out how it could be made to work much differently though.

One the earlier versions of the profiler would probably have done
better on this data, since it looks for step wedge type values,
and then computes the per channel curves from this (an "on the fly"
calibration), but it did less well on other data sets, and doesn't
work at all if it there are no step wedge values in the test set.

The probable explanation for the difference between the V53 and V60
profiles, is that I accidentally turned off the use of CIE94 Delta
E when optimizing the per channel curves, and normal delta E
is being used. It seems to have a larger effect than one would
imagine for this particular device on the maximum error
(xicc/xlut.c, about line 28).

Graeme Gill.

Other related posts: