GETLSF
「幾何光学的線像/エッジ像分布」と類似した、幾何光学的エッジ像および線像の応答関数を計算します。
構文 :
GETLSF wave, field, sampling, vector, maxradius, use_polarization
説明 :
wave は計算に使用する波長番号に対応する整数です。ゼロの値は、多色計算を示します。field は、1 から視野の最大番号までの範囲の整数とする必要があります。value は、使用する視野の位置を示します。sampling は、1 (32 x 32)、2 (64 x 64)、3 (128 x 128) ... で、最大 2048 x 2048 までとなります。vector 引数は、1 ~ 4 の整数値とし、データの配置先とするベクトル配列を指定します。maxradius 引数は、エッジ分布関数と線分布関数の最大動径座標です。これはデータ範囲の半分の幅です。デフォルトの幅を使用する場合は 0 を指定します。値が有効範囲外の引数には、有効範囲にある最も近い値が代わりに使用されます。
データは、指定ベクトルの値の配列として返されます。ベクトル位置 0 ~ 3 は、それぞれ、開始 X 座標 (データ領域の半分の幅の負の数)、デルタ座標、およびオフセット (以下で定義) の点の数 N を保持します。オフセットは、エッジまたは線の広がりデータを保持するベクトル内の最初の位置です。オフセットから始まり、最初の N 値はタンジェンシャル LSF 応答です。次の N 値はサジタル LSF 応答です。タンジェンシャルおよびサジタル ERF 値は、N データ値の次の 2 つのグループに配置されます。
現在のベクトル サイズが十分大きくない場合、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
次へ :