fullseye

energy_radii — OPTICS imaging op

使い方

The radius that holds a given fraction of a point-spread function’s energy (table).

Solves the encircled (kind='circle') or ensquared (kind='square') energy curve for each fraction in fractions (strictly between 0 and 1, at most 16, ascending or not) by bisection on the exact edge-weighted curve of :func:encircled_energy / :func:ensquared_energy: the usual “radius at 50 / 80 / 90 %” figures of merit, in micrometres.

Returns {"kind", "fractions", "radius_um", "diameter_um", "centre_px"}: for a circle the radius, for a square the half-width (diameter_um is twice that, the pixel side); centre_px is (row, col). A fraction that the array never reaches (the window cuts the wings off) raises rather than returning the array edge.

Ground truth: the Airy pattern’s radii at 50 / 80 / 90 % are the roots of 1 - J0(v)^2 - J1(v)^2 = fraction with v = 2 pi r / (lambda N) (tested against an independent root find).

Raises ValueError: bad psf / pixel_pitch_um / centre (see :func:encircled_energy); kind not 'circle' or 'square'; a fraction outside (0, 1) or non-finite; a fraction the array’s energy does not reach inside the largest circle / square that fits.

ファミリ共通の入力契約(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

同カテゴリ(imaging)

psf_to_mtf · mtf_diffraction · encircled_energy · ensquared_energy · mtf_tangential_sagittal · wavefront_stats · edge_spread · sfr_from_edge


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

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