ptypy.utils.math_utils.rl_deconvolution#
- ptypy.utils.math_utils.rl_deconvolution(data, mtf, numiter)#
Richardson Lucy deconvolution on a 2D numpy array.
- Parameters:
data (2darray) – Diffraction data (measured intensity).
mtf (2darray) – Modulation transfer function (Fourier transform of detector PSF).
numiter (int) – Number of iterations.
- Returns:
out (2darray) – Approximated intensity after numiter iterations.
Note
Assumes that mtf is symmetric and that data is real and positive.
mtf is non fft shifted that means that the dc component is on mtf[0,0].
Todo
non symmetric mtf (mtf.conj()[-q] somewhere)
optimisation (FFTW? scipy fft? error metric cancel iter?)
Original code provided by M. Stockmar