lf_to_mla — LIGHTFIELD decode op

Data kinds: lightfieldimage2d

Call: import lightfield; lightfield.lf_to_mla(lf) (or opslightfield.get("lf_to_mla"))

Usage

Re-interleave a light field into a microlens-array raw frame (exact inverse).

Inverse of :func: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 :func:lf_from_mla), and a raw frame whose side would

exceed `MAX_SPATIAL * MAX_ANGULAR`.

Detailed usage guide

lightfield_depth family guide

References (sample data, literature)

• 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.

Runnable examples (verified samples that actually call this op)

lightfield_depthpy -3.11 examples/lightfield_depth.py

Ops the type connects to (they accept image2d as input)

lf_from_mla · lf_disparity_to_depth · lf_all_in_focus

Same category (decode)

lf_from_mla · lf_stats


*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.