File Exchange

image thumbnail

Zernike calculator

version 1.4 (167 KB) by

Graphical calculator showing Zernike polynomials for a variety of aperture shapes.

3 Ratings



View License

This calculator plots orthonormal polynomials for circular, annular, rectangular, hexagonal, and elliptical apertures. FRINGE Zernikes are used for the circular apertures. The annular apertures uses the polynomials derived by V. N. Mahajan, "Zernike annular polynomials for imaging systems with annular pupils," J. Opt. Soc. Am., Vol. 71, No. 1, pg 75-85 (1981). All other polynomials are from the paper V. N. Mahajan and G. M. Dai, "Orthonormal polynomials in wavefront analysis: analytical solution," Vol. 24, No. 9, pg 2994-3016 (Sept. 2007). Any errors in functions in the program are my own.

To plot a function, choose a tab from the top of the GUI, input some coefficient values in the GUI table, choose a plot mode, and click 'Update Display.'

Comments and Ratings (6)


Jun (view profile)

Can not you further increase the term of the Zernikes polynomial?

haiqing zhang

can you give an example


DUO LI (view profile)

Good to learn

Christina Dunn

Hi Mikhail,

Thanks for the comments. I'll fix the bug you mention in point 2. Polar3d is acknowledged in the file information above and in lines 19-22 of the M file, as follows:

% This calculator makes use of the POLAR3D function written by J M De Freitas.
% ‘POLAR3D: A 3-Dimensional Polar Plot Function
% in Matlab®’. Version 1.2. QinetiQ Ltd, Winfrith Technology Centre, Winfrith,
% Dorchester DT2 8XJ. UK. 2 June 2005.

I hope it has been helpful for you.

1. Your program uses polar3d, but you have not mentioned this.

2. Bugreport: line 234:
it is::: function rectZernikeButton_Callback(hObject, ~, handles)

it should be:::: function rectZernikeButton_Callback(hObject, eventdata, handles)

3. it crashes my old Matlab 7.4 on Linux: Segmentation violation detected :-)

But it works on newer versions (I have 2009b at Uni). Documentation is awesome (unlike many other tools).

Christina Dunn

'Calculator,' not 'calcuaor'

Obviously time for another cup of coffee . . .



Updated to include an App file for R2012b


Spelling error corrected

MATLAB Release
MATLAB 8.0 (R2012b)
Tags Add Tags

Inspired by: 3D Polar Plot

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today