lf_all_in_focus — LIGHTFIELD depth op

Data kinds: lightfield × image2dimage2d

Call: import lightfield; lightfield.lf_all_in_focus(lf, slope_map, levels=None, *, n_levels=16, interp='linear', edge='nearest') (or opslightfield.get("lf_all_in_focus"))

Usage

Composite one everywhere-sharp image by refocusing each pixel at its own slope.

Builds a focal stack at *levels* and, for every pixel, takes the slice whose

level is closest to `slope_map` there. This is the "2-D image" half of what

a plenoptic camera delivers, at the full depth range rather than the depth of

field of one focus setting.

*levels* controls which refocus planes are actually rendered, and the

`None` default has two documented branches — a continuous slope map has

one distinct value per pixel, and rendering a refocus plane for each of

those would be tens of thousands of full-frame shifts:

• if *slope_map* holds at most *n_levels* distinct values (the case when

it came from :func:lf_depth_from_focus with `subpixel=False`), those

exact values are used and the composite is exact;

• otherwise the map's range is quantised to *n_levels* evenly spaced

planes (default 16), which is a real approximation: a pixel whose true

slope falls between two planes is refocused at the nearer one. Pass

*levels* explicitly — e.g. the sweep you handed

:func:lf_depth_from_focus — when that matters.

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

Raises `ValueError`: *lf* not a valid light field, a *slope_map* that

is not 2-D / not `(H, W)` / non-finite, *levels* empty or over the stack

caps, *n_levels* outside `[1, MAX_STACK_SLICES]`, unknown *interp* /

*edge*.

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

Same category (depth)

lf_depth_from_focus · lf_epi_slope · lf_disparity_to_depth · lf_plenoptic_design


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