GETMTFUSER1D
计算惠更斯PSF文本文件的子午和弧矢MTF数据,并将数据存储于四个矢量数组之一(VEC1、VEC2、VEC3或VEC4)。
语法:
GETMTFUSER1D wave, pupil_samp, idelta, PSFFile$, vector
详述:
"波长"是与用于计算的波长编号相对应的整数。其值为零说明是多波长计算。Pupil_samp可以是1(32 x 32)、2(64 x 64)、3(128 x 128),依此类推直至2048 x 2048。Idelta是像面网格中各点之间的距离(以微米为单位)。使用零作为默认网格间距。字符串PSFFile$是包含了要使用的惠更斯PSF数据的文本文件的文件名和路径。"矢量"参数必须为介于1到4之间的整数,指定数据存储的矢量数组。如果给定的任何参数超出有效范围,则会使用最近的值替代。此计算使用惠更斯MTF方法。
注意,TXT文件编码(TXT File Encoding)(在"系统配置>常规(Project Preferences>General)"中进行设置)必须设置为ANSI,才能使用此关键字。要将现有文本文件转换为正确的格式时,请使用关键字CONVERTFILEFORMAT。
请注意,您应在调用GETMTFUSER1D之前,使用OUTPUT SCREEN关闭利用OUTPUT关键字创建的所有打开的惠更斯PSF文件。
示例:
PSFFile$ = "C:\Users\Name\Documents\Zemax\PSF.txt" SettingsFile$ = "C:\Users\Name\Documents\Zemax\Configs\HPS.CFG" wave = 3 pupil_samp = 4 idelta = 0.008366
MODIFYSETTINGS SettingsFile$, HPS_PUPILSAMP, pupil_samp MODIFYSETTINGS SettingsFile$, HPS_IMAGEDELTA, idelta MODIFYSETTINGS SettingsFile$, HPS_IMAGESAMP, 2 MODIFYSETTINGS SettingsFile$, HPS_WAVE, wave MODIFYSETTINGS SettingsFile$, HPS_FIELD, 1 MODIFYSETTINGS SettingsFile$, HPS_CENTROID, 1 GETTEXTFILE PSFFile$, Hps vector = 4 GETMTFUSER1D wave, pupil_samp, PSFFile$, vector N_BINS = vec4(0) OFFSET = vec4(1) OUTPUT SCREEN FORMAT 15.0 PRINT "Number of Bins = ", N_BINS FORMAT 15.0 PRINT "Offset = ", OFFSET OFF1 = OFFSET OFF2 = OFF1 + N_BINS OFF3 = OFF2 + N_BINS MAXI = N_BINS-1 FORMAT 16.6 PRINT PRINT " X Tan Sag" PRINT FOR i, 0, MAXI, 1 PRINT vec4(OFF1 + i), PRINT vec4(OFF2 + i), PRINT vec4(OFF3 + i) NEXT i
下一部分: