Home > ISET > color > ieColorTransform.m

ieColorTransform

PURPOSE ^

Gateway routine to transform sensor data into a target color space

SYNOPSIS ^

function T = ieColorTransform(isa,targetSpace,illuminant,surface,noIR)

DESCRIPTION ^

 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.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Thu 20-Nov-2008 22:09:04 by m2html © 2003