Home > ISET > metrics > scielab > scielab.m

scielab

PURPOSE ^

Spatial CIELAB (S-CIELAB) metric

SYNOPSIS ^

function [result, params, xyz1, xyz2] = scielab(image1,image2,whitePt,params)

DESCRIPTION ^

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.

CROSS-REFERENCE INFORMATION ^

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