Python implementation of the Bayesian MEF method
Project description
Bayesian MEF
Bayesian multi-exposure image fusion (MEF) is a general-purpose algorithm to achieve robust high dynamic range (HDR) imaging, particularly in scenarios with low signal-to-noise ratio (SNR) or variations in illumination intensity. This approach is especially crucial for high quality phase retrieval in coherent diffractive imaging (CDI). The algorithm, detailed in the arXiv preprint, primarily focuses on its implementation and demonstrates the benefits in ptychography.
To install the package and its dependencies,
pip install bayes_mef
Usage
A minimal example demonstrating the usage of BayesianMEF
by simulating some data.
from bayes_mef import BayesianMEF
from skimage.data import camera
import numpy as np
# simulation params
truth = camera()
background = 60 # some background
times = np.array([0.1, 1, 10]) # exposure times or equivalently flux factors
threshold = 1500 # detector limit
# poisson data based on image formation model that is overexposed
data = [np.random.poisson(time * truth + background) for time in times]
data_saturated = np.clip(data, None, threshold, dtype="float")
# Bayesian MEF with optional field `update_fluxes`. Set it to `True` when
# flux factors (exposure times) are not accurately known.
mef_em = BayesianMEF(data_saturated, threshold, times, background, update_fluxes=False)
mef_em.run(n_iter=100)
fused_im = mef_em.fused_image.copy()
Under scripts/ directory, MEF with ptychographic data and subsequent reconstructions used in the publication can be tested using the data uploaded at Zenodo. These are based on the package ptylab
that can be installed additionally.
pip install git+https://github.com/PtyLab/PtyLab.py.git@main
For faster reconstructions using GPU, please install cupy
as given under its installation guide.
Citation
If you found this algorithm or the publication useful, please cite us at:
@misc{Kodgirwar:24,
title={Bayesian multi-exposure image fusion for robust high dynamic range ptychography},
author={Shantanu Kodgirwar and Lars Loetgering and Chang Liu and Aleena Joseph and Leona Licht
and Daniel S. Penagos Molina and Wilhelm Eschen and Jan Rothhardt and Michael Habeck},
year={2024},
eprint={2403.11344},
archivePrefix={arXiv},
primaryClass={eess.IV}
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for bayes_mef-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d81358cea04163cff7b330859d32960f2cfa5f2761903874a91dc8fe3ca16fc |
|
MD5 | fcc888b2002ef53abef427e1044151ce |
|
BLAKE2b-256 | 5081f54819a8d11b52a0cdf2d929f604adb0a8d31162b559f414861b62f9db0f |