GETLSF
计算几何边缘和线响应函数,类似于"几何线/边缘扩散"函数。
语法:
GETLSF wave, field, sampling, vector, maxradius, use_polarization
详述:
"波长"是与用于计算的波长编号相对应的整数。其值为零说明是多波长计算。"视场"必须为1到最大视场数之间的整数,表示要计算的视场编号。"采样"可为1(32x32)、2(64x64)、3(128x128)...最大为2048x2048。"矢量"参数为1到4之间的整数值,指定数据存储的矢量数组(VEC1、VEC2、VEC3或VEC4)。"最大半径"参数表示边缘和线扩散函数的最大径向坐标。该值是整个数据范围的半宽,0表示默认宽度。如果给定的任何参数超出有效范围,则会使用最近的值替代。
返回的数据存储在指定的矢量数组中。矢量位置0到3分别表示点"N"的数量、起始x坐标(数据范围的半宽的负数)、坐标间隔和偏移量(参见下方定义)。偏移量表示矢量中第一个边缘或线扩散数据。从偏移量开始,第一个N值是子午LSF响应。第二个N值是弧矢LSF响应。第三个N值是子午ERF值,第四个N值是弧矢ERF值。
如果当前矢量大小不足,OpticStudio将自动增加矢量的大小,以按照SETVECSIZE中描述的方式保存LSF数据。
示例:
! Macro computes and prints the LSF and ERF for polychromatic light at field 1. ! ! Syntax is GETLSF wave, field, samp, vector, maxradius, usepol ! GETLSF 0, 1, 3, 1, 0, 0 N_BINS = vec1(0) STARTX = vec1(1) DELTAX = vec1(2) OFFSET = vec1(3) FORMAT 15.0 PRINT "Number of Bins = ", N_BINS FORMAT 15.3 EXP PRINT "Starting Coordinate = ", STARTX PRINT "Delta Coordinate = ", DELTAX FORMAT 15.0 PRINT "Offset = ", OFFSET OFF1 = OFFSET OFF2 = OFF1 + N_BINS OFF3 = OFF2 + N_BINS OFF4 = OFF3 + N_BINS MAXI = N_BINS-1 FORMAT 16.3 EXP PRINT PRINT " X TLSF SLSF TERF SERF" PRINT FOR i, 0, MAXI, 1 PRINT STARTX + DELTAX*i, PRINT vec1(OFF1 + i), PRINT vec1(OFF2 + i), PRINT vec1(OFF3 + i), PRINT vec1(OFF4 + i) NEXT i
下一部分: