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

下一部分: