lf_aperture_mask — LIGHTFIELD refocus op

• Datenarten: keine → image2d (ein Operator, der allein durch seine Argumente bestimmt ist — er nimmt kein Bild und keine Daten entgegen)

• Aufruf: import fullseye as fs; fs.ledger.lf_aperture_mask(angular=(5, 5), shape='circle', *, radius=None, inner=0.0, sigma=None, normalize=True) (die Implementierung direkt: import lightfield; lightfield.lf_aperture_mask(angular=(5, 5), shape='circle', *, radius=None, inner=0.0, sigma=None, normalize=True); aus dem Register: opslightfield.get("lf_aperture_mask"))

Verwendung

Winkelgewichtungsmaske — die synthetische Apertur, die man abblendet oder formt.

> Die ausführliche Beschreibung unten ist der Originaltext — Zusammenfassung und Überschriften sind übersetzt.

Returns a (V, U) 2-D array of per-view weights, indexed the same way as the light field's angular axes, for lf_synthetic_aperture. The radius is measured in angular steps from the centre ((V-1)/2, (U-1)/2), so radius=0 selects the single centre view (an infinitely small aperture: everything in focus, no light) and the default radius = max(V-1, U-1)/2 is the largest circle that fits.

• circle — hard-edged disc, the physical iris.

• square — Chebyshev disc; separable, the cheapest to reason about.

• gaussian — apodised pupil (sigma in angular steps, default radius/2); no ringing in the defocus PSF.

• annulus — ring between *inner* and *radius*; a coded aperture whose defocus PSF has more high-frequency content, which is what makes depth-from-defocus work better.

With normalize=True (default) the weights sum to exactly 1, so a masked reduction is a weighted mean and its result is directly comparable with lf_refocus. Set it to False to keep 0/1 selection weights.

Raises ValueError: an angular shape outside [1, MAX_ANGULAR], a negative *radius* / *inner* / *sigma*, inner >= radius, an unknown *shape*, and — explicitly rather than returning a field of zeros — a mask that selects no view at all (an opaque aperture), which would make every downstream weighted mean a 0/0.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie lightfield_depth

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• lightfield_depth — py -3.11 examples/lightfield_depth.py

• poc_compound_eye — py -3.11 examples/poc_compound_eye.py

Typkompatible Folge-Operatoren (nehmen image2d als Eingabe)

lf_from_mla · lf_disparity_to_depth · lf_all_in_focus

Gleiche Kategorie (refocus)

lf_refocus · lf_focal_stack · lf_synthetic_aperture


*Provenance: lightfield.py — LIGHTFIELD Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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