GETZERNIKE

現在ロードされているレンズ ファイルのゼルニケ フリンジ係数、ゼルニケ標準係数、またはゼルニケ環状係数を波数の単位で計算し、それらをベクトル配列のいずれか (VEC1、VEC2、VEC3、または VEC4) に配置します。

構文 :

GETZERNIKE maxorder, wave, field, sampling, vector, zerntype, epsilon, reference

説明 :

maxorder 引数は、フリンジ係数の場合は 1 ~ 37、標準または環状係数の場合は 1 ~ 231 の任意の数 (以下の zemtype の説明を参照) で、目的の最も高次のゼルニケ項に対応します。wave および field は、それぞれ波長番号および視野番号を示す整数値です。sampling の値は、係数に合わせて使用されるグリッドのサイズを指定します。sampling は、1 (32 x 32)、2 (64 x 64) ... のように指定し、最大のサンプリング数は 2048 x 2048 です。vector 引数は、1 ~ 4 の整数値とし、データを配置するベクトル配列を指定します。zerntype は、「フリンジ」ゼルニケ項の場合は 0、「標準」ゼルニケ項の場合は 1、「環状」ゼルニケ項の場合は 2 です。これらの各タイプのゼルニケ項については、「[ゼルニケ フリンジ係数] (Zernike Fringe Coefficients)」、「[ゼルニケ標準係数] (Zernike Standard Coefficients)」、および「[ゼルニケ環状係数] (Zernike Annular Coefficients)」を参照してください。ゼルニケ環状係数の場合、epsilon は環状率です。この値はその他のゼルニケ タイプの場合は無視されます。光路差の基準を主光線にするには、reference の値をゼロにするか省略します。面の頂点を基準にするには 1 を使用します。有効範囲外の引数については、代わりに受け入れられる最も近い値が使用されます。

データは、次のフォーマットでベクトル配列のいずれかに返されます。ベクトル位置 1 : 波長数で表した主光線までの PV 値 (ピーク値と最小値の差)。 ベクトル位置 2 : 光路差がゼロであるラインに対する RMS 値を波長数で表した値 (この値は物理的に意味のあるものではありませんが、参考のため提供されています)。 ベクトル位置 3 : 主光線に対する RMS を波長数で表した値。 ベクトル位置 4 : 像のセントロイドに対する RMS 値を波長数で表した値 (これが、像質に関して最も物理的に意味のある数値です)。 ベクトル位置 5 : 波長数で表した偏差。 ベクトル位置 6 : ストレール比。 ベクトル位置 7 : フィット エラーの RMS 値を波長数で表した値。 ベクトル位置 8 : (任意の 1 点における) 最大フィット エラーを波長数で表した値。残りのベクトル位置には、実際のゼルニケ係数データが格納されます。たとえば、ゼルニケ項番号 1 はベクトル位置 9 に、ゼルニケ項番号 2 は位置 10 に格納されます (以下同様)。

例 :

! This macro computes the first 37 Zernike Fringe coefficients
! for the currently loaded lens, at wave 1, field 1
! and a 32x32 grid density (sampling = 1).The coefficients
! will be placed in vector 1.First get the data: 
GETZERNIKE 37,1,1,1,1,0
! Now print it out: 
FORMAT 16.6
PRINT "Peak to Valley   : ", vec1(1)
PRINT "RMS to chief     : ", vec1(3)
PRINT "RMS to centroid  : ", vec1(4)
PRINT "Variance         : ", vec1(5)
PRINT "Strehl ratio     : ", vec1(6)
PRINT "RMS Fit Error    : ", vec1(7)
PRINT "Maximum Fit Error : ", vec1(8)
i = 1
label 1
FORMAT 2.0
PRINT "Zernike #", i, " = ",
FORMAT 16.6
PRINT vec1(8+i)
i = i + 1
if (i < 38) THEN GOTO 1
PRINT "All Done!"

次へ :