fullseye

distortion_map — OPTICS imaging_sim op

使い方

Real chief-ray height versus the paraxial one, and the remap grid (table).

Fields (degrees for an object at infinity, object heights in mm otherwise) default to 9 values from the axis to the sensor corner (hypot(H, W)/2 · pitch). For each, the real chief ray is traced to the image plane (r_real) and compared with the ideal height f·tanθ (or m·H); distortion_pct = (r_real − r_ideal)/r_ideal · 100 — negative is barrel. A radial polynomial r_real = r(1 + k1 r² + k2 r⁴ …) (order even terms) is fitted and inverted on a dense table to build grid_rows / grid_cols — for every real sensor pixel, the fractional ideal-image pixel it sees (the inverse remap a renderer feeds to scipy.ndimage.map_coordinates). max_distortion_pct is at the corner. A paraboloid mirror with the stop on it and any system on axis give zero (< 1e-7 %); the plano-convex singlet (stop on its first surface) is barrel: −0.0059 % at the corner of a 2048 × 5.5 µm sensor (4.55°) and −0.065 % at 15°, the doublet −0.28 % at 15° (measured, pinned in the tests).

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

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

詳しい使い方ガイド

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

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

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

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

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

同カテゴリ(imaging_sim)

psf_from_opd · render_through_lens · defect_dataset · calibration_views


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

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