lf_refocus — LIGHTFIELD refocus op

• Data kinds: lightfield → image2d

• Call: import fullseye as fs; fs.ledger.lf_refocus(lf, slope=0.0, *, interp='linear', edge='nearest') (implementation को सीधे call करना हो तो import lightfield; lightfield.lf_refocus(lf, slope=0.0, *, interp='linear', edge='nearest'), registry से लेना हो तो opslightfield.get("lf_refocus"))

उपयोग

shift-and-add refocus: *slope* पर focus की गई synthetic-aperture image।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

Every view (v, u) is shifted by (-s*(v - v_c), -s*(u - u_c)) — the minus undoes the parallax of a point at slope s — and the shifted views are averaged. Points at that slope add coherently and stay sharp; everything else is smeared by an amount proportional to its slope difference times the angular baseline. slope=0 is the plane the array was already focused on and returns the plain average of the views.

Ground truth it reproduces exactly (pinned in tests/test_lightfield.py):

a single-layer field synthesised at slope s0 and refocused at s0 with edge="wrap" and an integer s0 returns the original texture to 5.6e-16; sweeping the slope, the variance of the result peaks at s0 (measured exactly on the sweep grid in all 18 texture/slope combinations listed in the module docstring), and refocusing at -s0 does *not* — which is the check that catches a flipped shift sign.

Returns a (H, W) 2-D image.

Raises ValueError: *lf* not a valid light field, a non-finite or over-large *slope* (MAX_ABS_SLOPE), unknown *interp* / *edge*.

उपयोग की विस्तृत guide

• lightfield_depth family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• lightfield_depth — py -3.11 examples/lightfield_depth.py

• poc_lightfield_depth — py -3.11 examples/poc_lightfield_depth.py

वे अगले ops जिनसे type जुड़ता है (image2d को input के रूप में लेते हैं)

lf_from_mla · lf_disparity_to_depth · lf_all_in_focus

इसी category के (refocus)

lf_focal_stack · lf_aperture_mask · lf_synthetic_aperture


*Provenance: lightfield.py — LIGHTFIELD operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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