[argyllcms] Re: Camera matrix profile, adding ti3 perfect white data set

  • From: Gerhard Fuernkranz <nospam456@xxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Wed, 03 Feb 2010 02:26:49 +0100

Graeme Gill wrote:
> Hmm. It's an assumption in my part that the lightest test patch is
> neutral. It's pity the white patch is not neutral in respect to the
> other neutral patches for your test chart then.

Hi Graeme,

well, the reference file specifies the actual colors. For instance, the
GSxx patches on IT8 targets from Wolf Faust seem to be close to D50
(i.e. illuminant) chromaticity, but Dmin is unprinted paper and Dmax is
the darkest color that can be printed on the medium, so the chromaticity
of these patches can deviate a bit more from D50.

But the actual issue is not really the color of the patches, but a
different one: Does it really make sense to place the media white point
of camera profiles at Dmin of the target? IMO it does not. We certainly
need a target in order to establish a RGB to XYZ mapping, but we don't
need the target for anything else. The target is not the "medium" we
want to capture with the camera. Neither the paper color of the target
nor the exposure that happened to be used when shooting the target have
any relation to the arbitrary scenes we want to capture with the camera
eventually. Yet another desire is the utilization of the full RGB range
of the camera - the profile should not limit this range by clipping
beyond a certain RGB level. Sure, if the shot of the target does not
cover the full RGB range then extrapolation is necessary. With a matrix
or matrix/gamma model, this should not be a too big deal though, if the
shot of the target is not too much underexposed.

If the camera already returns white-balanced raw RGB numbers and we
simply want to trust the camera's white balancing (regardless whether it
is correct or not), then the XYZ color corresponding to
RGB=[255,255,255] is IMO a suitable media white point. A relcol
conversion to a working space will map those colors to neutral which are
considered by the camera's white balancing as neutral. And no RGB
numbers will be clipped.

The same media white point, located at RGB=[255,255,255], is IMO still
appropriate if the raw RGB numbers from the camera are not yet white
balanced at all so that we need to white balance each image anyway
individually after conversion from camera RGB to XYZ or to a working space.

If the raw RGB numbers are almost (but not exactly) white balanced by
the camera and we want the profile to fix the residual white-balancing
error, then rather a media white point with illuminant chromaticity is
what we want. Again the white point's luminance should be scaled so that
either min(R_wtpt,G_wtpt,B_wtpt)=255 or max(R_wtpt,G_wtpt,B_wtpt)=255
applies, in order that we still can utilize either the full RGB range
w/o clipping, or almost the full RGB range with slight clipping [the 2nd
variant with slight clipping has advantages too, as it avoids "chromatic
highlights" after conversion to a working space].

[above I'm assuming a RGB range normalized to 0..255]

Regards,
Gerhard


Other related posts: