decode op• Data kinds: lightfield → image2d
• Call: import fullseye as fs; fs.ledger.lf_to_mla(lf) (to call the implementation directly, import lightfield; lightfield.lf_to_mla(lf); from the registry, opslightfield.get("lf_to_mla"))
Re-interleave a light field into a microlens-array raw frame (exact inverse).
Inverse of lf_from_mla with offset=(0, 0): the returned frame has shape (H*V, W*U) and puts L[v, u, t, s] back at raw pixel (t*V + v, s*U + u). lf_from_mla(lf_to_mla(L), (V, U)) returns L bit-for-bit (verified with np.array_equal), which is the cheapest possible check that the decode's index arithmetic has no off-by-one.
Raises ValueError: *lf* not 4-D / non-finite / over the shape and element caps (see lf_from_mla), and a raw frame whose side would exceed MAX_SPATIAL * MAX_ANGULAR.
• lightfield_depth family guide
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• lightfield_depth — py -3.11 examples/lightfield_depth.py
image2d as input)lf_from_mla · lf_disparity_to_depth · lf_all_in_focus
decode)*Provenance: lightfield.py — LIGHTFIELD operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.