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)
下一部分: