※ CODE V 9.82から以下で紹介する機能は[スポットダイアグラム](SPO)解析機能に標準実装されました。
詳しくはFAQをご覧ください。
FAQを閲覧するには、ログインアカウントとパスワードが必要です。ユーザー登録がお済みでない方は、こちらから登録して下さい。
レンズの仕様ではよくスポットのサイズが決められています。
このスポットサイズの仕様は許容錯乱円などから算出されていると思います。
銀塩フィルムだったら33ミクロン、デジタルカメラであればディテクタであるピクセルサイズの1.6倍くらいでしょうか?
光学系の集光状態はスポットダイアグラムからわかります。
ただしスポットダイアグラムだけでは許容錯乱円に対してどれくらい広がっているのかよくわかりません。
スポットダイアグラムで許容錯乱円とスポットの広がりを比較することはできないのでしょうか?
これが今回、攻略すべきポイントです。
メニューのツール>マクロマネージャからサンプルマクロのツリーの下の最適化のリストで
“C:\CODEV*****\macro\spotdet.seq”を選択してください。
そして実行ボタンを押せばSPOTDET設定画面が現れます。
Ditector x widthで許容錯乱円の直径を指定します。
フィルムの場合は33ミクロン、つまり0.033mmをDitector x widthに指定してください。
このときDitector y widthは0にしておきます。
Ditector y widthを0にしておくとスポットダイアグラムにDitector x widthを直径とする円が上書きされます。
矩形のディテクタのサイズを指定するときはDitector x widthに横方向の幅、Ditector y widthに縦方向の幅を指定してください。
例えば38万画素の2/3型CCDでは画素サイズは11×13μmになります。
ちなみにDitector x widthにAIRYと入力すればエアリーディスク径がスポットダイアグラムに上書きされます。
その他のパラメータは特に変更する必要はありません。
OKをクリックしてください。
まず、ヘッダー情報とGUIダイアログのための記述があります。
ヘッダー情報に2つ但し書きがあります。
1つめ:スルーフォーカスが設定されていたモデルではマクロは実行されません。
2つめ:エアリーディスクのサイズはビネッティングなしのビームから算出されています。ビネッティングを設定している画角には正確でないサイズが設定されます。
次に各ズーム位置のエアリーディスク径、「2.44×最長波長÷1e6×0.5÷像面でのY方向近軸周辺光線射出角」が計算されています。
エアリーディスクの半径εは0.61×λ÷NAですので、近軸でのエアリーディスク直径が計算されていることが分かります。
ただしこの計算ではアフォーカル系のモデルのエアリーディスク径は計算されていません。
アフォーカルモデルに対しては「2.44×最長波長÷1e6÷EPD×物体面でのY方向近軸主光線射出角÷像面でのY方向近軸主光線射出角」が計算されています。
ここからがマクロのコア部分です。
通常のスポットダイアグラムオプションを実行しています。
このときGRAコマンドを利用して、スポットダイアグラムプロットをファイルspot_diagram.pltに出力しています。
そのためにまずspot_diagram.pltの中身のテキスト情報をバッファにインポートしています。
そしてマクロ内の下の部分が.pltファイルを直接編集している部分です。そのコード2の前にディテクタ形状を描画するコードを追加しています。
ディテクタ形状を黒(0)で描画するために、最初に“5 0”を追加しています。
次に、矩形のディテクタを上書きするように指定されている場合は、各画角の主光線位置を中心として矩形形状を描画しています。
コード“3 X座標 Y座標”でペンを移動させます。
コード“4 X座標 Y座標”で現在のペンの位置から指定した座標までラインを描画します。
円形の許容錯乱円の場合は10度刻みでラインを描画して円形にしています。
そして最後にこの許容錯乱円を「直接編集」して上書したプロットファイルを表示しています。
.PLTファイルの描画コードの詳細は、CODE V リファレンスマニュアル日本語版を以下のキーワードで検索してご確認ください。
『ニュートラルプロットファイルフォーマット』
マクロプログラミングの中身に興味がある方は「CODE V マクロ機能セミナー」をお勧めします。