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