fullseye

tolerance_analysis — OPTICS design op

使い方

Monte-Carlo manufacturing tolerances + per-parameter sensitivities (table).

tolerances: {"radius_pct": 0.5, "thickness_mm": 0.05, "index": 0.001, "decenter_mm": 0.02, "tilt_deg": 0.05} — each perturbation is drawn uniformly in ±tol for every surface independently, trials times. Returns the distribution of efl and rms_spot (mean, std, p5, p95, worst), the nominal values, and sensitivity: the change of EFL and RMS spot per one full tolerance of each parameter on each surface (central finite difference), so you can see which surface’s radius or tilt drives the yield. Deterministic for a given seed. Spots are sampled to 99 % of the pupil radius so that edge vignetting by a tilt cannot masquerade as an improvement (n_vignetted would otherwise jump on the nominal design).

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

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

詳しい使い方ガイド

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

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

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

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

同カテゴリ(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.