[argyllcms] Re: Profile input white not mapping to output white

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Sat, 24 Nov 2012 17:03:57 +1100

Ben Goren wrote:
> That brought the middle gray patch to roughly R=G=B=100 and the Teflon patch 
> to 
> R=G=B=250 (about as bright as I could get it without clipping in places I 
> cared 
> about). I then made a profile with ``colprof -u,'' and got a clean white and 
> good results overall.


Note that -u triggers special extrapolation code, which uses a matrix style
model to extrapolate some fake neutral axis/white points. -un disables this
and is pure cLUT/regular spline extrapolation.
See <http://www.argyllcms.com/doc/colprof.html#un>.

The extrapolation code is far from perfect, but it does seem to
improve many situations.

> I can understand how they might not provide the greatest amount of fidelity. 
> What I can't understand is why they'd go completely bonkers, way off into 
> left 
> field. Shouldn't they reasonably assume that, if the brightest available 
> patch 
> is already right on the neutral axis, the extrapolation should remain close 
> to 
> the neutral axis and end at L=100 a=0 b=0?

They are just algorithms, and the parametric/regular spline is a local
algorithm with smoothing - that's part of it's attraction, that it
does a local fit to the sample points. But away from sample points
all that controls it is the smoothness constraints. So all it needs
is for there to be a slight "tilt" near the edge of the gamut, and
the smoothness constraint will happily go extrapolating in that
direction. It has no "knowledge" or "expectation" about what's reasonable
for a profile or device. The special extrapolation code in -u attempts
to address this.

> But I would still expect the magnitude of the error of the results to be in 
> the 
> same range as the magnitude of the error of the input...and I wouldn't expect 
> minor lightness errors within the target gamut to result in radical hue 
> errors 
> outside of it.

But that is the nature of extrapolation. Any errors within or at the edge
of the measured points get magnified through extrapolation.

> I think I know enough to come up with a workflow to get good results...but I 
> still think there's something very worng with how colprof is doing its 
> extrapolation.

I'm happy to take a look at any .ti3 that triggers a poor input profile
result using colprof -u.

Graeme Gill.

Other related posts: