fullseye

opd_map — OPTICS design op

使い方

Optical path difference over the exit pupil, in waves (image2d).

The OPD of each ray is the chief ray’s optical path from a common object-space wavefront to the exit-pupil reference sphere (centred on the chief ray’s image point, passing through the paraxial exit pupil on axis) minus the ray’s own, divided by the wavelength (Welford’s sign: an undercorrected spherical singlet gives W = +W040·ρ⁴ with W040 = S_I/8). The map is sampled on a size × size grid over the unit pupil (row = +y down the array, column = +x); points outside the pupil or vignetted are set to fill (default 0 so the array is finite — pass fill=np.nan to see the pupil boundary). The pupil mask is available from :func:opd_samples.

Feed the map to match3d.fit_zernike (coefficients in waves) and then to optics.wavefront_stats for RMS / PV / Strehl. On a stigmatic system (an on-axis paraboloid mirror) the map is zero to machine precision; a pure image-plane defocus produces the textbook W020·ρ²; for a spherical singlet the Zernike (4,0) term reproduces the Seidel S_I/8 at small aperture (all tested).

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

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

詳しい使い方ガイド

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

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

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

fraunhofer_pattern · pupil_psf · pupil_blur · psf_to_mtf · illumination_uniformity · render_through_lens · surface_defect · defocus_blur

同カテゴリ(design)

lens_system · thick_lens · glass · example_system · glass_catalog · sellmeier · paraxial_trace · seidel_coefficients


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

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