fullseye

exit_pupil_samples — OPTICS lensrender op

使い方

Sample points on the exit pupil of system (position and radius from the paraxial trace) -> dict.

pattern="hexapolar" puts a centre point and rings of 6k points (the largest count not above n), each with the area of its annulus share, so the weights sum to the disc area exactly; pattern="halton" takes the Halton sequence (bases 2 and 3) in the enclosing square and keeps the points inside the disc (rejection), n of them, each with weight pi R^2 / n. Both are deterministic. The table has xy_mm (K, 2) in the exit-pupil plane, uv the same in units of the radius, weights_mm2 (sum = area_mm2 = pi R^2), z_mm (the plane in the lens frame), radius_mm, position_mm (last vertex to the pupil along the light), area_ratio (sum of the weights over the enclosing square (2R)^2, pi/4) and square_acceptance (for halton the fraction of the square’s points that fell inside the disc, which tends to pi/4; None for hexapolar). A system whose exit pupil is at infinity (image-space telecentric) is refused.

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

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

詳しい使い方ガイド

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

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

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

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

同カテゴリ(lensrender)

lens_scene · trace_sensor_rays · scene_radiance · render_scene_through_lens · bokeh_shape · render_ghost_overlay · render_compare_prescriptions


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

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