Fuse multiple exposure images using Laplacian pyramid blending.
Parameters
----------
images : `list` of `FloatImagePlane`
List of exposure images to fuse. Each image should be a
`FloatImagePlane` with pixel values typically in the range [0, 1].
sigma : `float`, optional
Controls the exposure weighting sensitivity. Lower values make the
weighting more sensitive to deviations from the reference exposure
(0.7). Default is 0.1.
maxLevel : `int` | `None`, optional
Maximum pyramid level to use for blending. If None, automatically
determined based on image dimensions. Default is 3.
Returns
-------
result : `FloatImagePlane`
Fused image with balanced exposure.
Raises
------
ValueError
Raised if maxLevel is greater than the maximum allowed level based on
image dimensions.
Notes
-----
This function implements exposure fusion using a Laplacian pyramid
approach. The algorithm works as follows:
1. Compute exposure weights for each image based on how close pixel
values are to the reference exposure (0.7). Values above 1.0 receive
reduced weight.
2. Build Gaussian pyramids from the weights and Laplacian pyramids from
the padded images.
3. Blend the Laplacian pyramids using the Gaussian pyramid weights at
each level.
4. Reconstruct the final image from the blended pyramid.
The fusion preserves local contrast while balancing exposure across
the input images.
Definition at line 36 of file _exposure_fusion.py.