optimise_fb#

xrayvision.mem.optimise_fb(Hv, Visib, Lip, flux, lambd, shape, pixel, maxiter, tol)[source]#

Solve the optimization problem using a forward-backward splitting algorithm

\[\underset{x}{\mathrm{argmin}} \quad \chi^{2}(x) + \lambda H(x)\]

subject to positivity constraint and flux constraint. Where \(x\) is the image to reconstruct, \(\lambda\) is the regularization parameter and \(H(x)\) is the entropy of the image.

The algorithm implemented is a forward-backward splitting algorithm (see Combettes, Pesquet, “Proximal Splitting Methods in Signal Processing” (2011) and Beck, Teboulle, “Fast Gradient-Based Algorithms for Constrained Total Variation Image Denoising and Deblurring Problems” (2009)).

Parameters:
  • Hv – Fourier matrix used to calculate the visibilities of the photon flux (actually, Hv = [Re(F); Im(F)] where F is the complex Fourier matrix)

  • Visib

  • Lip – Lipschitz constant of the gradient of the chi^2 function

  • flux – total flux of the image

  • lambd – regularization parameter

  • shape – Image size

  • pixel – Pixel size

  • maxiter – Maximum number of iterations

  • tol – Tolerance value used in the stopping rule ( || x - x_old || <= tol || x_old ||)

Returns:

MEM Image