Home > ISET > human > humanOTF.m

humanOTF

PURPOSE ^

Calculate the human OTF, including chromatic aberration

SYNOPSIS ^

function [OTF2D, frequencySupport, wave] = humanOTF(pupilRadius, dioptricPower, frequencySupport, wave)

DESCRIPTION ^

 Calculate the human OTF, including chromatic aberration

  [OTF2D, frequencySupport, wave] = ...
        humanOTF([pupilRadius = 0.0015], [dioptricPower = 59.9404], [frequencySupport = :],[wave = :])

 The spatial frequency range is determined by the spatial extent and
 sampling density of the original scene.
 
 Reference: Marimont & Wandell (1994 --  J. Opt. Soc. Amer. A,  v. 11, p.
 3113-3122 -- see also Foundations of Vision by Wandell, 1995.

 See Also:  humanLSF, sceneGet(scene,'frequencyresolution')

 Example:
   [OTF2D, frequencySupport, wave] = humanOTF(0.0015,60);
   vcNewGraphWin;
   subplot(1,2,1),
   mesh(frequencySupport(:,:,1),frequencySupport(:,:,2),abs(OTF2D(:,:,10)));
   title('500 nm'); xlabel('Frequency (cyc/deg)'), zlabel('Relative amp')
   subplot(1,2,2), mesh(frequencySupport(:,:,1),frequencySupport(:,:,2), abs(OTF2D(:,:,3)));
   set(gca,'zlim',[-.2,1]);
   xlabel('Frequency (cyc/deg)'), zlabel('Relative amp'); title('400 nm')

 Reference and discussion

 We build the otf by first using Hopkins' formula of an eye with only
 defocus and chromatic aberration.  Then, we multiply in an estimate of
 the other aberrations.  At present, we are using some data from Dave
 Williams and colleagues measured using double-pass and threshold data.

 Williams et al. (19XX) predict the measured MTF at the infocus wavelength by
 multiplying the diffraction limited OTF by a weighted exponential.
 We perform the analogous calculation at every wavelength.  That is, we
 multiply the aberration-free MTF at each wavelength by the weighted
 exponential in the Williams measurements.  Speaking with Dave last month,
 he said his current experimental observations confirmed that this was
 an appropriate correction.  (BW 05.24.96).

 As a further simplification, the human measurements are all 1D.  We build
 a 1D function and then we assume that the true function is circularly
 symmetric.  That is how we fill in the full 2D MTF.  We call it an OTF
 and assume there is no phase shift ...  All an approximation, but
 probably OK for these types of calculations.  Further details could be
 sought out in the recent papers from the Spanish group (e.g. Artal) and
 from Williams and the other Hartmann Shack people.

 Copyright ImagEval Consultants, LLC, 2003.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Sun 14-Jan-2007 10:24:23 by m2html © 2003