ZernikeDecompose is part of the WaveTrain system class library.
ZernikeDecompose fits a sequence of Zernike polynomials to the input phase. Several ordering schemes and normalization schemes can be selected by choosing appropriate parameters. The coefficients generated by ZernikeDecompose will regenerate the fitted phase when used with ZernikeCompose with the same ordering and normalization schemes selected. The overlap integral within ZernikeDecompose is scaled so that calculated coefficients will regenerate the fitted phase when the selected normalization scheme is used.
Possible normalization schemes selected by the 'normalization' parameter are: 0 - for backwards compatibility only (normalization is as 1, but the fit is transposed in x/y); 1 - normalize the overlap integral to 1/pi (1/area with unit circle); 2 - unity phase variance; 3 - Noll/Malacara, unity overlap integral. 0 (1/sqrt(pi) normalization, transposed) is the default due to backward compatibility considerations, but 3 (Noll/Malacara) will typically be an appropriate choice.
All ordering schemes start with tilts and progress through higher order radial terms, but differ in the ordering of azimuthal terms within each radial order. Possible orderings selectable via the 'orderingScheme' parameter are: 0 - deprecated; 1 - Noll's ordering; 2 - Malacara's ordering. 0 (deprecated) is the default due to backward compatibility considerations, but 2 or 3 (Noll or Malacara) will typically be an appropriate choice.
|
Parameters
|
numberOfZernikes |  int | Number of Zernike terms to decompose the input into (e.g., 5, 9, 14, 20, 27, or 35 will fit up to 2nd, 3rd, 4th, 5th, 6th, or 7th order radial modes) | 35 |
zernikeRadius |  float | Zernike radius (m) | 1.0 |
normalization |  int | 0-For compatability only;1-Overlap integral=1/pi;2-PV=1;3-Noll/Malacara | 0 |
orderingScheme |  int | 0-deprecated;1-Noll;2-Malacara | 0 |
Inputs
|
input |  Grid<float> | Phase to fit Zernike modes (rad) | ZeroGridF(512,0.001) |
xc |  float | X coordinate of the center of the Zernike circle (m) | 0.0 |
yc |  float | Y coordinate of the center of the Zernike circle (m) | 0.0 |
Outputs
|
ZernikeCoefs |  Vector<float> | Zernike Coefficients starting with tilts | ZeroVecF(10) |
Subsystems |
|
|
Last Saved: Tue Oct 21 11:14:57 MDT 2008 by TVE version 2009B
|
|