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!"

下一部分: