GETZERNIKE
计算当前载入的镜头文件的Zernike Fringe、标准或环形系数,并将其存储于某个矢量数组参数中(VEC1、VEC2、VEC3或VEC4)。
语法:
GETZERNIKE maxorder, wave, field, sampling, vector, zerntype, epsilon, reference
详述:
对于Zernike Fringe系数而言,maxorder参数为1到37之间的任何数值,对于Standard系数或Annular系数,maxorder参数为1到231之间的任何数值(请参阅下文有关zerntype的详述),并且对应于所需的最高Zernike项。"波长"和"视场"是分别表示波长和视场编号对应的整数值。"采样"的值指定用于拟合系数的网格尺寸。"采样"可为1(32x32)、2(64x64)...最大为2048 x 2048。"矢量"参数必须为介于1到4之间的整数,指定数据存储的矢量数组。zerntype为0表示"fringe"Zernike项,1表示"Standard"Zernike项,2表示"Annular"Zernike项。如需了解关于不同类型Zernike项的更多描述,请参阅"Zernike Fringe系数(Zernike Fringe Coefficients)"、"ZernikeStandard系数(Zernike Standard Coefficients)"以及"Zernike Annular系数(Zernike Annular Coefficients)"。对于Annular Zernike系数,"epsilon"表示环形比率;对于其它Zernike类型,将忽略该值。要使OPD参考主光线,reference值应为0或者忽略;reference值为1表示参考面顶点。如果给定的任何参数超出有效范围,则会使用最近的值替代。
返回的数据存储在指定的矢量数组参数中,存储格式如下所示:矢量位置1:以波长为单位的峰谷值;矢量位置2:OPD为0时的RMS值(以波长为单位)(此值没有实际意义,仅供参考);矢量位置3:主光线的RMS值(以波长为单位);矢量位置4:图像质心的RMS值(以波长为单位)(这是与图像质量相关的最有实际意义的数值);矢量位置5:以波长为单位的方差值;矢量位置6:斯特列尔比;矢量位置7:RMS拟合误差(以波长为单位);矢量位置8:任意点的最大拟合误差(以波长为单位)。其余的矢量位置包含实际的Zernike系数数据。例如,Zernike项数1位于矢量位置9,Zernike项数2位于矢量位置10,以此类推。
示例:
! This macro computes the first 37 Zernike Fringe coefficients ! for the currently loaded lens, at wave 1, field 1 ! and a 32x32 grid density (sampling = 1). The coefficients ! will be placed in vector 1. First get the data: GETZERNIKE 37,1,1,1,1,0 ! Now print it out: FORMAT 16.6 PRINT "Peak to Valley : ", vec1(1) PRINT "RMS to chief : ", vec1(3) PRINT "RMS to centroid : ", vec1(4) PRINT "Variance : ", vec1(5) PRINT "Strehl ratio : ", vec1(6) PRINT "RMS Fit Error : ", vec1(7) PRINT "Maximum Fit Error : ", vec1(8) i = 1 label 1 FORMAT 2.0 PRINT "Zernike #", i, " = ", FORMAT 16.6 PRINT vec1(8+i) i = i + 1 if (i < 38) THEN GOTO 1 PRINT "All Done!"
下一部分: