fullseye

encircled_energy — OPTICS imaging op

使い方

Encircled energy of a point-spread function: the fraction of the energy inside a circle of radius r.

The standard spot-quality curve of lens design (how much light lands inside a given pixel or fibre core). psf is an image2d of non-negative samples on a grid of pixel_pitch_um (use the pixel_pitch_um argument of lensimage.psf_from_opd, or the fine-grid spacing of pupil_psf); the circle is centred on the energy centroid by default (centre = 'centroid', 'peak', 'fft' for the fftshift origin, or a (row, col) pair in pixels). Edge pixels are weighted by the exact area inside the circle, so the curve is smooth in r; a radius under about two pixels is resolved only coarsely.

Returns a (samples, 2) float64 pairs array: column 0 the radius in micrometres from 0 to max_radius_um (default the largest circle that fits in the array about the centre), column 1 the fraction of the array’s energy inside, in [0, 1], non-decreasing. Energy outside the array is not known, so a PSF window that cuts the wings off reads high; keep the window several times the spot.

Ground truth it reproduces: an unaberrated circular pupil gives the Airy pattern, whose encircled energy is 1 - J0(v)^2 - J1(v)^2 with v = 2 pi r / (lambda N): 83.8 % at the first dark ring (r = 1.2197 lambda N, Born and Wolf), 91.0 % at the second, 93.8 % at the third (measured in tests/test_optdesign_psf_metrics.py).

Raises ValueError: psf not 2-D / smaller than 3x3 / negative / zero energy / non-finite; non-positive pixel_pitch_um or max_radius_um; samples outside [2, 4096]; a radius that leaves the array; a bad centre.

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

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

詳しい使い方ガイド

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

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

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

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

mtf50 · energy_to_photons · spectral_product · spectral_integral · spectral_integral_table · spectral_stats · kubelka_munk_reflectance · hyperspectral_capture

同カテゴリ(imaging)

psf_to_mtf · mtf_diffraction · ensquared_energy · energy_radii · 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.