


Spatial CIELAB (S-CIELAB) metric
[deltaEImage, params, xyz1, xyz2] = scielab(image1,image2,whitePt,[params])
The Spatial-CIELAB difference image (error map) compares image1
and image2. The metric is compatible with CIELAB over constant portions
of the image. It adds spatial blurring consistent with measurements of
human space-color sensitivity to account for the image spatial structure.
image1 and image2: 3-D images in XYZ or LMS format.
whitePt: a cell array containing the white points of the two images.
params: a structure containing several variables used in the
calculation. The entires are updated and can be returned
by the routine.
params.
sampPerDeg = How many samples per degree of visual angle in the image.
If the image is, say, 5 deg, and contains 128 samples,
then this parameter is 512/2.
The default is 224 for historical reasons. In
general, the code should be improved to work well at
low sample rates.
filters = filters used in spatial blurring of opponent channels.
If these are present, then the filters are used.
Otherwise, new filters are created. They will be
returned in params to save time in the next call.
filterSize = usually equal to sampPerDeg.
imageFormat= Data format of the input image.
'xyz2', 'xyz10', 'lms2', 'lms10';
deltaEversion = which version of CIELAB. (Default is 2000)
Earlier options permit '1976', '1994' and '2000'.
Added for special ISET analyses, we allow a request for
CIELAB 2000 'chroma','hue', or 'luminance' component errors.
These are always calculated using CIELAB 2000.
The routine is divided into three main sub-routines that perform the
key computations.
scPrepareFilter -- Prepare the spatial blurring filters
scOpponentFilter -- Apply the filters in opponent color space
scComputeDifference -- Compute the resulting CIELAB differences
See also: changeColorSpace
Example:
See scielabExample.m for a full description
scielab(image1,image2,whitePt,params); % deltaE 2000 CIELAB version
params.deltaEversion = '1976';
scielab(image1,image2,whitePt,params); % deltaE 1976 CIELAB version
params.deltaEversion = 'hue'; % Just the hue error
scielab(image1,image2,whitePt,params);
params.deltaEversion = 'chrominance'; % Just the chrominance error
scielab(image1,image2,whitePt,params);
Copyright ImagEval Consultants, LLC, 2003.