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.