Subroutine Download
Subroutines
1. SF_Spec_Calc.zip by Stacie Manuel
This Matlab function calculates the polishing specification for a telescope, following the discussion by Hill in “Optical Design, Error Budget and Specifications for the Columbus Project Telescope” (Proc. SPIE 1236, 86-107 (1990)).
2. zStd.zip by Ping Zhou
This Matlab function generates the circular Zernike polynomials, following the discussion by Noll in “Zernike polynomials and atmospheric turbulence” (J. Opt. Soc. Am., 66, 3, 207–211(1976)). The numbering of this set of Zernike polynomials is the same as the “Standard Zernike Polynomials” in Zemax.
3. zAnnular.zip by Ping Zhou
This Matlab function generates the annular Zernike polynomials, following the discussion by Mahajan in “Zernike annular polynomials for imaging systems with annular pupils” (J. Opt. Soc. Am., Vol.71, 75-85 (1981)). The numbering of this set of Zernike polynomials is the same as that in Durango.
4. zAnnularStd.zip by Ping Zhou
This Matlab function generates the annular Zernike polynomials, following the discussion by Mahajan in “Zernike annular polynomials for imaging systems with annular pupils” (J. Opt. Soc. Am., Vol.71, 75-85 (1981)). The numbering of this set of Zernike polynomials is the same as the “Standard Zernike Polynomials” in Zemax.
5. Stitch.zip by Chunyu Zhao
This Matlab function stitches the subaperture measurements and provide a stitched map. The algorithm was discussed by Otsubo in “Measurement of large plane surface shapes by connecting small-aperture interferograms” (Optical Engineering, Vol.33 No.2 608-613 (1994))
6. OAP_Normal.dll by Chunyu Zhao
This Zemax dll file models an off-axis parabolic surface. It is useful when designing a CGH for testing an off-axis parabolic surface. “Param 1” for off-axis distance measured in the parent coordinate. When it is positive, the parent vertex is on the plus y direction. When it is negative, the parent vertex is on the minus y direction.
7. OffAxisParabola.dll by Chunyu Zhao
This Zemax dll file models an off-axis parabola. It is useful when designing a CGH for testing an off-axis parabola. Use the same parameter as OAP_Normal.dll.
8. OAEA_Normal3.dll by Chunyu Zhao
This Zemax dll file models an off-axis even asphere surface. All the rays incident on this surface come out normal to the surface. It is useful when designing a CGH for testing an off-axis even asphere surface. It has the same parameters as standard even asphere surface as well as
Param 0: a rotation angle about z-axis of the off-axis distance from y-axis following the right hand rule.
Param 1: off-axis distance, following the same sign convention as OAP_Normal.
9. OffAxisEvenAsphere3.dll by Chunyu Zhao
This Zemax dll file models an off-axis even asphere surface. Use same parameters as OAEA_Normal3.dll.
10. DistortionFittingAndCorrection.zip by Chunyu Zhao
There are two Matlab functions in this zip files. One is for distortion fitting and the other is to correct the distortion using a series of polynomials.
11. OrthogonalPoly.zip by Chunyu Zhao
This Matlab function generates the matrix converting Zernike series to a new orthonormal series in a racetrack area. The algorithm is discussed by Guang-ming Dai and Virendra N. Mahajan in “Nonrecursive determination of orthonormal polynomials with marix formulation,” OPTICS LETTERS, Vol.32 No.1, January, 2007.
12. SurfaceAnalyzer by Won Hyun Park
13. GET_CGHZERNCOEFF.zpl by Chunyu Zhao
This Zemax macro read in Zernike coefficients in the extra data and write them into a text file.
14. SET_ZERNCOEFF.zpl by Chunyu Zhao
This Zemax macro read in Zernike coefficients from a text file and set the extra data for the specified surface in Zemax.
15. NoiseCal.zip by Ping Zhou
This Matlab function estimates the magnitude of the random error in a map created by averaging multiple measurements. The detail is discussed in “Limits for interferometer calibration using random ball test” SPIE Optics and Photonics, San Diego, CA (2009).
16. MLE_stitching.zip by Ping Zhou
This Matlab code uses the maximum-likelihood estimation to stitch the subaperture measurements. All the subaperture maps rotate with a common rotation axis.