A Matlab function to work with Zernike polynomials over circular and non-circular pupils.
Updated 11 Feb 2013

View License

This function either displays Zernike polynomials over a circular, hexagonal, elliptical, rectangular or annular shaped pupil, or fits surface data to these pupil shapes. See Mahajan, V.N., G.-m. Dai, "Orthonormal polynomials in wavefront analysis: analytical solution," J. Opt. Soc. Am. A, Vol. 24, No. 9, Sept. 2007 for a description of Zernike polynomials for non-circular pupil shapes. Can specify the Zernikes to use in j-ordering or (n,m) notation, Mahajan/Noll or Born&Wolf normalization, Fringe subset, and which sign convention to use. A mask can be specified to select a subset of the surface data to use to fit the Zernike polynomials. Least squares fit coefficients are calculated. If no surface data is specified then the function displays the sum of the Zernike polynomials specified over the pupil shape specified. The unit circle's center and radius in pixel units to be used in the fitting can be specified.

Cite As

Robert Gray (2024). ZernikeCalc (https://www.mathworks.com/matlabcentral/fileexchange/33330-zernikecalc), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Zernike Polynomials in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Added non-circular default masks for non-circular pupil shapes to allow easy display of the non-circular polynomials.