image thumbnail


version (21 KB) by Robert Gray
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 (2021). ZernikeCalc (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!