tempusSystem Class HartmannWfsDft
HartmannWfsDft is part of the WaveTrain system class library

HartmannWfsDft models a Hartmann-Shack wavefront sensor. For any incident wavefront, the complex field over each subaperture is propagated to the sensor plane (usually at the common focal plane of the subaperture lenslets) using a DFT, then the fields from all the subapertures are superposed and the net intensity is computed. Finally, the net intensity is integrated over the exposure length to produce an "integratedIntensity" output in units of J/m^2.
In addition to integratedIntensity in the sensor plane, HartmannWfsDft also computes subaperture centroids to yield noise-free, high-resolution subapertures slopes. See the WT User Guide for discussion of these slopes compared to noisy slopes obtained by appending further subsystems to HartmannWfsDft.
HartmannWfsDft can model any number of subapertures, in any geometry. Subaperture geometries are generally created using the WaveTrain suite's AOGeom GUI. That GUI can create a data file whose relevant subaperture specifications can be easily read into the {xSubap, ySubap} parameters of HartmannWfsDft.
The temporal triggering and exposure parameters of HartmannWfsDft are identical to those of those of the more basic WaveTrain sensors. See the WT User Guide for a detailed discussion of the triggering of sensor exposures. Note in particular that the input "sampleInterval" is only used to generate multiple samples within one "exposureLength". To obtain one sample per "exposureLength" (the typical practice), set "sampleInterval" to 0.0.
HartmannWfsDft also allows an optional delay used to model readout time: if this is set non-zero, then the output only becomes available at that delay after the end of the exposure length window.
Like all WaveTrain optical sensors, HartmannWfsDft works with both pulsed and continuous wave illumination. If multiple wavefronts (i.e., from separate sources) are received simultaneously they are assumed to be mutually incoherent, so their intensities add.
HartmannWfsDft is a complex module: the WT User Guide gives further guidance on its usage and the setting of parameters.
Note that two of the parameters are annotated as "Used ONLY with Wavesharing". For essentially all WaveTrain usage, these parameters have NO effect whatsoever: leave the values at their defaults (for advanced usage, see WT User Guide for details).

Tempus Block Diagram Editor Snapshot
Parameters
wavelength  float   Wavelength at which sensor is sensitive (m)   1.0e-06
nxyPupil  int   Used ONLY with Wavesharing (see WT User Guide)   512
dxyPupil  float   Used ONLY with Wavesharing (see WT User Guide)   0.01
nxyDetector  int   Number of sample points across FULL sensor plane   512
dxyDetector  float   Spacing of sample points in sensor plane (m)   10.0e-06
subapWidth  float   Width of subapertures in the pupil plane (m)   0.1
detectorPlaneDistance  float   (m) Usually equal to focalDistance, but allowed to differ.   1.0
focalDistance  float   Focal length of lenslets (m)   1.0
magnification  float   Magnification of lenslet array   1.0
overlapRatio  float   Controls overlap of propagated subaperture fields (0.0->abutting)   0.0
xSubap  Vector<float>   X-coordinates of the subap centers in the pupil plane (m)   Vector()
ySubap  Vector<float>   Y-coordinates of the subap centers in the pupil plane (m)   Vector()
xSlope0  float   X slopes to be output prior to the first complete sample (rad)   0.0
ySlope0  float   Y slopes to be output prior to the first complete sample (rad)   0.0
Inputs
incident  WaveTrain   Incident light   WaveTrain()
on  bool   on/off switch (on=true, off=false)   true
exposureInterval  double   Time between start of successive exposure windows (s)   0.001
exposureLength  double   Length of each exposure window (s)   0.000001
sampleInterval  double   Time between samples within one exposureLength (s)   0.0
Outputs
integrated_intensity  Grid<float>   Temporally-integrated intensity at focal plane (J/m^2)   
slopes  Vector<float>   Subaperture wavefront x-slopes followed by y-slopes (radians of tilt angle)   
Subsystems


Last Saved: Thu Mar 15 17:50:02 MDT 2007 by TVE version 2007B