Code covered by the BSD License  

Highlights from
Zernike calculator

4.0

4.0 | 1 rating Rate this file 28 Downloads (last 30 days) File Size: 167 KB File ID: #28652
image thumbnail

Zernike calculator

by

 

07 Sep 2010 (Updated )

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

| Watch this File

File Information
Description

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

Acknowledgements

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

01 Dec 2010 Mikhail Konnik

Suggestion:
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 . . .

Updates
28 Aug 2012

Spelling error corrected

12 Sep 2012

Updated to include an App file for R2012b

Contact us