GETMTF

计算当前镜头文件的子午和弧矢MTF、实部、虚部、相位或方波响应数据,并将数据存储于四个矢量数组之一(VEC1、VEC2、VEC3或VEC4)。

语法:

GETMTF freq, wave, field, sampling, vector, type
 

详述:

  • "频率"参数是以MTF单位表示的空间频率(请参阅"MTF单位(MTF Units)")。如果频率小于0或者大于截止频率,则GETMTF返回0。
  • "波长"是指定用于计算的波长编号的整数,"波长"为0时,表示多波长计算。
  • "视场"必须为1到最大视场数之间的整数,表示要计算的视场编号。
  • "采样"可为1(32x32)、2(64x64)、3(128x128)...最大为2048 x 2048。
  • "矢量"参数必须为介于1到4之间的整数,指定数据存储的矢量数组。
  • "类型"参数表示数据类型:
  • 1表示MTF,
  • 2表示实部,
  • 3表示虚部,
  • 4表示弧度单位的相位,
  • 5表示方波MTF。

如果给定的任何参数超出有效范围,则会使用最近的值替代。

该计算使用快速、稀疏采样积分方法来计算MTF,即在给定点,MTF值被计算为复光瞳(出瞳中的复波前)的自相关函数。GETMTF使用的快速采样方法与MTF分析功能没有直接关系。因为只需要一个空间频率,GETMTF使用的计算方法是不同的,并且通常比分析功能使用的算法要快得多(另请参见MTFA操作数网格参数)。

返回的数据存储在指定的矢量数组参数中,存储格式如下所示:

  • 矢量位置0:子午响应;
  • 矢量位置1:弧矢响应。

示例:

 
! This macro computes the T & S response at 30 lp/mm
! for the currently loaded lens, polychromatic,
! at the maximum defined field,
! and a 32x32 grid density (sampling = 1).
! Data will be placed in vector 1.
! This is all it takes to get the data:
GETMTF 30, 0, NFLD(), 1, 1, 1
PRINT "Tangential response:", vec1(0)
PRINT "Sagittal response :", vec1(1)

下一部分: