createZernikeBasis

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

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

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

Zernike bases. The first axis indexes the Zernike polynomials.

Raises

ValueError

If jmin is negative or jmax is less than jmin