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).
|
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
|
|