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