tempus System Class PhaseZernikeSlopes
PhaseZernikeSlopes is part of the WaveTrain system class library.

PhaseZernikeSlopes takes a list of coefficients for *real* Zernike polynomials & outputs WFS slopes the specified modes whould produce. The 1-parameter ordering of the input Zernike coefficients is specified by the 'orderingScheme' parameter and starts with tilt modes. The normalization scheme used in mode composition is specified by the 'normalization' parameter.

The vectors m_vec and l_vec can be used in various ways to control which Zernike modes are used to compose the phase. The input coefficients must contain every coefficient necessary for the specified modes, but m_vec & l_vec may ommit some modes for which coefficients are supplied; hence phase can be constructed using only selected modes following Zernike fitting. 1) Gernerally, they specify the individual radial and angular orders of the modes to be used; m_vec is a vector of radial orders and l_vec contains the corresponding angular orders (m_vec & l_vec must be the same length), e.g., m_vec = VecI(3,2,2,2), l_vec=VecI(3,2,0,-2) causes only focus and astigmatism modes to be used and all others are ignored. 2) Setting both vectors to negative values, e.g. m_vec=VecI(1,-1), l_vec=VecI(1,-1) causes them to be ignored and all modes for which coefficients are supplied are used. 3) If the first two values of m_vec are negative (with l_vec positive) then the values in m_vec are interpreted as radial orders and all angular orders are composed for each radial order, e.g., m_vec = VecI(3,-2,-3,5) will cause all modes with radial orders 2, 3 and 5 to be composed (13 modes total). 4) If the first value of m_vec is negative and the second is positive (with l_vec positive) they specify a range of radial orders, e.g., m_vec = VecI(2,-2,5) will cause all modes with radial orders 2 through 5 to be composed (18 modes total).

Tempus Block Diagram Editor Snapshot
Parameters
m_vec  Vector<int>   Radial orders of Zernike modes to generate   VecI(1,-1)
l_vec  Vector<int>   Angular orders of Zernike modes to generate   VecI(1,-1)
apD  float   Aperture diameter (m)   Dap
wavelength  float   WFS wavelength (m)   1.0e-6f
subapWidth  float   WFS subaperture width (m)   dmModel.xMeasurementWidth()
xSubap  Vector<float>   WFS X subaperture locations (m)   dmModel.xMeasurementLocations()
ySubap  Vector<float>   WFS Y subaperture locations (m)   dmModel.yMeasurementLocations()
normalization  int   0-no normalization; 1-normalize to overlap integral=1/pi; 2-make the PV=1.0;3-Noll/Malacara   3
orderingScheme  int   0-deprecated;1-Noll;2-Malacara   0
Inputs
Coef  Vector<float>   Coefficients of Zernike polynomials in ascending order starting with 1st order (tilt) modes   
Outputs
Slopes  Vector<float>   Slopes vector in the format produced by HWFS   
Subsystems


Last Saved: Tue Oct 21 11:17:12 MDT 2008 by TVE version 2009B