createZernikeGradBasis

lsst.ts.wep.utils.createZernikeGradBasis(u: ndarray, v: ndarray, jmin: int = 4, jmax: int = 22, obscuration: float = 0.612) ndarray

Create a basis of Zernike gradient polynomials.

This function is evaluated at the provided u and v 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

unp.ndarray

The x normalized pupil coordinate(s).

vnp.ndarray

The y normalized pupil coordinate(s). Must be same shape as u.

jminint, optional

The minimum Noll index, inclusive. Must be >= 0. (the default is 4)

jmaxint

The maximum Noll index to fit, inclusive. Must be >= jmin. (the default is 22)

obscurationfloat, optional

The fractional obscuration. (the default is 0.612, corresponding to the Simonyi Survey Telescope.)

Returns

np.ndarray

Array of Zernike bases. First axis has length 2, corresponding to the u and v gradients. The second axis indexes the Zernike polynomials.

Raises

ValueError

If jmin is negative or jmax is less than jmin