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.'
can you give an example
Good to learn
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).
'Calculator,' not 'calcuaor'
Obviously time for another cup of coffee . . .
Updated to include an App file for R2012b
Spelling error corrected