Home > ISET > human > humanPupilSize.m

humanPupilSize

PURPOSE ^

Estimated pupil diameter and area (mm^2)

SYNOPSIS ^

function [diam,area] = humanPupilSize(lum,model)

DESCRIPTION ^

 Estimated pupil diameter and area (mm^2) 

  [diam,area] = pupilSize(lum,'model')

 The mean luminance is in candelas/m2.  The returned diameter and pupil
 area are in mm and mm^2, respectively.

 Two models implemented.
    'ms'  - Moon and Spencer (1944)
    'dg'  - DeGroot and Gebhard (1952)

 Related note: 
   According to James E. Birren, Roland C. Casperon, & Jack Botwinick,
   Age Changes in Pupil Size, J. Gerontol., #5, 1950, p.216, the following
   formula can be used to predict minimum diameter as a function of age.
        Age = 10:80;
        diam = 9.08 - (0.082 * Age) + (0.00037 * Age.^2);
        vcNewGraphWin;
        plot(Age,diam); xlabel('Age (yrs)'); ylabel('Min diameter (mm)');
        grid on

   According to Stanley and Davies (The effect of field of view size on
   steady-state pupil diameter.) the pupil size should be explained in
   cd/m2 per deg  of visual angle.  They offer another formula 

      D = 7.75-5.75 [(F/846)0.41/((F/846)0.41 / 2)] 
   
   where D is the pupil diameter (mm) and F is the corneal flux density
   (cdm-2 deg2). Not implemented here, but perhaps it should be.
 
 Example:
    [d,a] = humanPupilSize(100,'ms')

    lumSteps = logspace(-6,6,20);
    [d1,a] = humanPupilSize(lumSteps,'ms');  
    [d2,a] = humanPupilSize(lumSteps,'dg');  
    semilogx(lumSteps,d1,'r-',lumSteps,d2,'g--')

    age = 30:5:70;
    diam = 9.08 - (0.082 * age) + (0.00037 * age.^2);
    plot(age,diam)

CROSS-REFERENCE INFORMATION ^

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