createZernikeBasis#
- lsst.ts.wep.utils.createZernikeBasis(u, v, jmin=4, jmax=22, obscuration=0.612)#
Create a basis of Zernike polynomials.
This function is evaluated on a grid of normalized pupil coordinates, where these coordinates are normalized pupil coordinates. Normalized pupil coordinates are defined such that u^2 + v^2 = 1 is the edge of the pupil, and u^2 + v^2 = obscuration^2 is the edge of the central obscuration.
- Parameters:
u (np.ndarray) – The x normalized pupil coordinate(s).
v (np.ndarray) – The y normalized pupil coordinate(s). Must be same shape as u.
jmin (int, optional) – The minimum Noll index, inclusive. Must be >= 0. (the default is 4)
jmax (int) – The maximum Noll index to fit, inclusive. Must be >= jmin. (the default is 22)
obscuration (float, optional) – The fractional obscuration. (the default is 0.612, corresponding to the Simonyi Survey Telescope.)
- Returns:
Zernike bases. The first axis indexes the Zernike polynomials.
- Return type:
np.ndarray
- Raises:
ValueError – If jmin is negative or jmax is less than jmin