fullseye

lens_spec — OPTICS scene op

使い方

レンズの諸元。NA と F 値はどちらで与えてもよい(N = 1/(2·NA))。

coc_um を省くと画素ピッチを許容錯乱円に使う(レイアウトが束ねるときに解決)。 telecentric=True は倍率が距離で変わらない前提 ―― 寸法測定ではここが効く。vision_layout が これを optical_camera(telecentric=True)(正射影)に渡すので、部品の高さが変わっても像の大きさは 変わらない(2026-10-15 まで旗を読むコードが無く、透視のまま撮っていた)。

transmission は可視の代表値(スカラ)。分光で撮る(layout_capture(mode="spectral"))ときに 波長で変わる透過率を入れたければ transmission_curve に pairs(λ [nm], T)を渡す(外挿しない)。 focal_mm の既定は 25 mm。model と矛盾する focal_mm を明示すると ValueError(固定焦点の 焦点距離は型番で決まる。2026-10-15 まで既定値の 25 と区別できず、明示しても黙って型番の値になっていた)。

model に実在の型番を渡すと(lens_catalog() のキー「メーカー 型番」でも、 型番だけ + maker= でもよい。レンズは型番がメーカー間で 似通うので、曖昧なときは fail-closed で メーカー を要求する)、焦点距離・ イメージサークルが公開値で埋まり、F 値を省いたときは開放値が入る。カタログに 載るのはそこまでで、収差や MTF は入らない(機種ごとのグラフでしか出ないため)。

ファミリ共通の入力契約(fail-closed)

optics の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

背景知識ガイド(この op の手前にある物理・規約)

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

abcd_matrix · wavefront_stats · sfr_from_edge · paraxial_trace · seidel_coefficients · spot_stats · tolerance_analysis · wavefront_from_opd

同カテゴリ(scene)

scene_material · scene_plane · scene_sphere · scene_box · scene_cylinder · surface_defect · surface_finish · random_defects


Provenance: optscene.py — OPTICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.