


Gateway routine to transform sensor data into a target color space
T = ieColorTransform(isa,[targetSpace='XYZ'],[illuminant='D65'],[surface='Macbeth'])
This is a gateway routine into a collection of methods that find color
space transformations to map sensor data into a target color space.
This routine currently has only a few defaults. It will expand over
time, significantly. The calling conventions are likely to change, as
well.
The default method is to find a linear transformation that maps the
the sensor responses to the Macbeth ColorChecker into the Macbeth
ColorChecker values in XYZ under D65 using a least-squares
minimization.
Optionally, the user can send in a spectral file name that contains a
different surface set (surface) or a file name that contains a
different illuminant (illuminant).
mp 2007/12/26 ---
If noIR is 1, only colors that have energy in the visible range are
used to compute T
---
An alternative is to find the linear transformation that minimizes the
transformation into linear sRGB values for the Macbeth Color Checker.
These values are stored in a file. In the future, we will implement a
set of linear sRGB values for other sets of surfaces and lights, or at
least a method of calculating them in here on the fly, and performing
that minimization.
More elaborate alternatives will be included later. These are an
alternative is to minimize a weighted sum of the mean error and the
noise error. (Ulrich Barnhoefer, SPIE paper).
We will aso build a more complex maps, based on the Manifold methods,
and return a lookup table for the transformation. (Jeff DiCarlo, JOSA
paper)
Examples:
isa = vcGetObject('sensor');
T = ieColorTransform(isa,'XYZ','D65','mcc')
T = ieColorTransform(isa,'Stockman','D65','mcc')
T = ieColorTransform(isa,'linear srgb',[],'mcc')
T = ieColorTransform(isa,'XYZ','D65','esser')
T = ieColorTransform(isa,'XYZ','D65','esser',1)
Copyright ImagEval Consultants, LLC, 2005.