View License

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

» Watch video

Highlights from
Zernike calculator

4.5 | 2 ratings Rate this file 15 Downloads (last 30 days) File Size: 167 KB File ID: #28652 Version: 1.4
image thumbnail

Zernike calculator



07 Sep 2010 (Updated )

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

| Watch this File

File Information

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.'


3 D Polar Plot inspired this file.

MATLAB release MATLAB 8.0 (R2012b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (5)
18 Jan 2017 haiqing zhang

can you give an example

Comment only
06 Mar 2016 DUO LI

DUO LI (view profile)

Good to learn

24 Jan 2011 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.

Comment only
01 Dec 2010 Mikhail Konnik

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).

07 Sep 2010 Christina Dunn

'Calculator,' not 'calcuaor'

Obviously time for another cup of coffee . . .

Comment only
28 Aug 2012 1.3

Spelling error corrected

12 Sep 2012 1.4

Updated to include an App file for R2012b

Contact us