Home > ISET > vcamera > opticalImage > oiCompute.m

oiCompute

PURPOSE ^

Gateway routine for optical image irradiance calculation

SYNOPSIS ^

function oi = oiCompute(scene,oi,opticsModel)

DESCRIPTION ^

 Gateway routine for optical image irradiance calculation

    oi = oiCompute(scene,oi,[opticsModel])

 The spectral irradiance image, on the sensor plane, just before sensor
 capture is the optical image.  This spectral irradiance distribution
 depends on the scene and the the optics attached to the optical image
 structure, oi. 

 Three types of optical calculations are implemented in ISET.  These are
 selected from the interface in the oiWindow, or they can be set via
 optics = opticsSet(optics,'model', parameter)

 This oiCompute function calls the relevant model depending on the setting
 in opticsGet(optics,'model'); 

 The first model is based on diffraction-limited optics and calculated in
 opticsDLCompute. This computation depends on the diffraction limited
 parameters (f/#) but little else.

 The second model is shift-invariant optics.  This depends on having a
 wavelength-dependent OTF defined and included in the optics structure. 

 The third model is a shift-variant, full ray trace model.  This depends on
 having the ray trace information included in the optics model.  The
 geometric information, relative illumination, and blurring calculations
 are usually imported from a full ray trace program, such as Zemax.

 It is possible to specify the model in the argument. If it is not
 specified, then the optics data in the oi determines the model.

 Finally, there is a special case for computing the human optical image.
 You may specify the optics model to be 'human'.  In that case, this
 program calls the routine humanOI, which uses the human OTF calculations
 in a shift-invariant fashion.

 See also: opticsGet for a description of the optics models.

 Example
   oi = oiCompute(scene,oi);

   oi = vcGetObject('oi'); scene = vcGetObject('scene');
   load siZemaxExample00
   optics = opticsSet(optics,'model','shiftinvariant');
   oi = oiSet(oi,'optics',optics);
   oi = oiCompute(scene,oi);

 Copyright ImagEval Consultants, LLC, 2005

CROSS-REFERENCE INFORMATION ^

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