lentil.zernike_basis#
- lentil.zernike_basis(mask, modes, vectorize=False, normalize=True, order='noll', rho=None, theta=None)[source]#
- Compute a Zernike basis set for a given mask. - Parameters:
- mask (array_like) – Mask defining the extent to compute the Zernike polynomial over. All nonzero entries are included in the result. 
- modes (array_like) – List of modes (Noll ordering) to return. 
- vectorize (bool, optional) – If True, the output is returned as a - (length(modes), modes.shape[0]*modes.shape[1])array If False (default), the output is returned as a- (length(terms), mask.shape[0], mask.shape[1])cube.
- normalize (bool, optional) – If True (default), the output is normalized according to [1]. If False, the output value ranges [-1, 1] over the mask. 
- order ({'noll', 'fringe', 'ansi'}, optional) – Zernike ordering scheme. Default is ‘noll’. 
- rho (array_like, optional) – Radial coordinates of the mask. - rhoshould be 0 at the origin and 1 at the edge of the circle.
- theta (array_like, optional) – Angular coordinates of the mask in radians. 
 
- Returns:
- Zernike basis set 
- Return type:
- ndarray 
 - References - [1] Noll, RJ. Zernike polynomials and atmospheric turbulence. J Opt Soc Am 66, 207-211 (1976).