Home > ISET > vcamera > sensor > sensorComputeImage.m

sensorComputeImage

PURPOSE ^

Main routine for computing the sensor voltage data from the optical image

SYNOPSIS ^

function [voltImage, dsnu, prnu] = sensorComputeImage(OI,ISA,wBar)

DESCRIPTION ^

Main routine for computing the sensor voltage data from the optical image

  [voltImage,dsnu,prnu] = sensorComputeImage(OI,ISA,wBarHandles)

 Compute the sensor voltage image from the sensor parameters and the
 optical image. This is the main computational routine used to compute
 the sensor image, and it calls a variety of sub-routines that implement
 many parts of the calculation.

 The spatial array of volts is routined by this routine.  In addition,
 the fixed pattern offset (dsnu) and photoresponse nonuniformity (prnu) 
 can also be returned.  
   
 If you don't want to show any waitbars, set showWaitBar to 0.  Default is 1.

   COMPUTATIONAL OVERVIEW

       1.  The current generated at each pixel by the signal is computed
       (signalCurrent).  This is converted to a voltage using the cur2volt
       parameter.

       2.  The dark voltage is computed and added to the signal.

       3.  Shot noise is computed for the sum of signal and dark voltage
       signal. This noise is added.  Hence, the Poisson noise includes
       both the uncertainty due to the signal and the uncertainty due to
       the dark voltage.  (It is possible to turn this off by a scripting
       command using sensorSet(sensor,'shotNoiseFlag',0)).

       4.  Read noise is added.

       5.  If the sensor fixed pattern noises, DSNU and PRNU  were
       previously stored, they are added/multipled into the signal.
       Otherwise, they are computed and stored and then combined into the
       signal.

       6.  If column FPN is selected and stored, it is retrieved and
       combined into the signal.  If column FPN is selected but not
       stored, it is computed and applied. Finally, if it is not selected,
       it is not applied.

   Many more notes on the calculation, including all the units are
   embedded in the comments below. 

   If the waitBar handles are provided, they are used to show progress.
   WIthout the waitbar handles, not waitbars are shown.

  Example:
     volts = sensorComputeImage(vcGetObject('oi'),vcGetObject('ISA'));

 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