背景
CodeV は持っていないが, Edmund optics のサイトなどにある CodeV のレンズデータを自作レンズシミュレータや他の光学ソフトなどで読み込みたい.
参考情報
OpTaliX マニュアル
http://optenso.com/download/download.html
用語やコマンド名などは CodeV(+ Zemax とも?)と似ているのが多いので役に立つ.
python ray-optics
https://ray-optics.readthedocs.io/en/latest/
(いくらか .seq のパーサーがある)
コマンド
基本行単位. 上から読んでいく.
最後に &
がついているのは bash でいう \
みたいなもの(つまり次の行を連結する)
主要なもの
-
DIM
: 単位.M
=[mm]
,C
=[cm]
,I
= インチ -
WL
: 波長リスト -
REF
: reference wavelength -
WTW
: 各波長への重み -
XAN
: paraxial? での角度での field X リスト -
YAN
: paraxial? での角度での field Y リスト(=> image height(像高)のリスト) -
YIM
: real(?) image height -
WTF
: 各 field の重み -
SO
: Object 面-
SO curvature thickness
: 通常 curvature 0.0, thickness は大きめ(遠方)の値
-
-
S
: サーフェスの定義-
S curvature thickness [glass]
. glass が抜けている場合は air とみなす. -
CIR
: aperture radius -
CCY
: ? -
THC
: Thickness? -
EDG
: Edge aperture -
STO
: stop surface(aperture)である
-
-
SI
: Image 面-
SI curvature thickness
. PIM が有効な場合は thickness がマイナス(=Defocus)となることもある. 最後のS
にSI
の thickness を足したものが最終的な image 面への距離となる. - その他: OpTaliX マニュアル 8.3 Surface Parameters を参照.
-
-
PIM [YES|NO]
paraxial image solve -
GO
: レンズ定義の終了
非球面レンズ
ASP
で定義
-
K
: conic -
A
~J
: 4, 6, 8, ... 20 次までの非球面係数(EVEN18). 通常はH
(18 次まで)
注意点
S
でも thickness がマイナスになるときがある.
たとえば最初に stop surface が定義されているが, その次のレンズ面が stop 面より前(object 側)にあるときなど.
ガラスの定義
F5_SCHOTT
など
Schott(ショット光学)の F5
.
やガラスメーカーのサイトなど探せば, メジャーなガラスの屈折率などの情報を得られる.
Private glass
カスタムの IOR を持つガラス.
seq では波長 + IOR 値のペアで定義する.
rayoptics のサンプルデータから.
PRV
PWL 1600.0 1500.0 1400.0 1300.0 1200.0 1100.0 1000.0 900.0 800.0 700.0 650.0&
600.0 587.6 546.1 486.1 480.0 460.0 440.0 404.7 400.0
'E48' 1.5184 1.5188 1.5192 1.5197 1.5201 1.5219 1.5231 1.5247 1.5257 1.527&
1.5286 1.5306 1.53116 1.5334 1.5378 1.5384 1.5404 1.5427 1.5476 1.5484
END
'E48'
がガラス名となる.
これを利用するときは, データを Sellmeier 式でフィッティングとかではなくて, 各点を通る曲線として扱うっぽい.
rayoptics では scipy.interpolate.interp1d
で cubic 補間をしている.
fields, object points
OpTaliX マニュアル 7.3.1 参照.
field : イメージ(センサー)面での位置(高さ). CG とかで使われるフィールドとは意味が異るので注意.
object points : シーン側での物体位置
-
XAN
,YAN
: 角度 -
XIM
,YIM
: paraxial image height.height = EFL * tan(theta)
式で求まるもの. EFL = effective focal length. -
XRI
,YRI
: real image height. 実像高?. これに対応する入射角は, aperture の中心を通り, 指定した像高位置へ入射する chief ray を求める(ニュートン法あたりで収束計算)必要がある -
XOB
,YOB
: 物体側の高さ.