3MGforPMRI

************************************************************
* authors: Emilie Chouzenoux (1), Anisia Florescu (2) and  *
*         Jean-Christophe Pesquet (1).       		       *
* affiliations: (1) LIGM - Universite Paris Est Marne la   *
*                   Vallee, CNRS, Champs/Marne, France     *
*               (2) Politehnica University of Bucharest,   *
*                   Romania                                *
* joint work with: Philippe Ciuciu (CEA, NeuroSpin center, *
*                  INRIA Saclay, France)                   *
*                                                          *
* date: Thursday, November 20th 2014   	                   *
*                                                          *
* License CeCILL-B                                         *
************************************************************


*****************************************************
* RECOMMENDATIONS:                                  *
* This toolbox is designed to work with             *
* Matlab 7.0                                        *
*****************************************************


---------------------------------------------------------------------------
DESCRIPTION:
This toolbox allows to solve the image reconstruction problem encountered 
in parallel Magnetic Resonance Imaging (pMRI). 

The observation model reads:
(for 1<=l<=L) dl = Sigma * F * Sl * x + wl
where:
-> L is the number of coils
-> Sigma is the down-sampling matrix (or binary mask) with acceleration factor R
-> F  is the 2D discrete Fourier operator
-> S_l is the sensitivity matrix associated with coil l
-> x  is the complex-valued original image to recover
-> w_l is a realization of a circular complex Gaussian vector with zero mean
and covariance matrix Lambda = s2*Id.

The considered criterion is composed of: 
-> a least square function with weight Lambda^{-1}, as data fidelity term
-> a regularization term, with weight la>0, acting on the modulus of the 
orthogonal wavelet coefficients. Note that the code can be extended to deal
with redundant frame operators (see our paper).
The following penalty functions are available:
(1) psi(u) = (1-exp(-u.^2./(2*delta^2)));  %NON CONVEX - NON COERCIVE
(2) psi(u) = (u.^2)./(2*delta^2 + u.^2);   %NON CONVEX - NON COERCIVE
(3) psi(u) = log(1 + (u.^2)./(delta^2));   %NON CONVEX - COERCIVE
(4) psi(u) = sqrt(1 + u^2/delta^2)-1;      %CONVEX 
(5) psi(u) = 1/2 u^2;                      %CONVEX
Finally, a binary variable Mask forces to zero the image areas which
correspond to the object background. Such a mask can be easily deduced from
standard image thresholding operations on the sensitivity matrices.

The optimization process uses the Majorize-Minimize Memory Gradient (3MG) 
algorithm.

The toolbox consists of 4 subfolders:
1)  Algo : contains the 3MG algorithm
2)  Data : contains a set of pMRI data
3)  Tools : contains some useful tools for the optimization process
4)  Wavelab850 : contains wavelet toolbox Wavelab850

The demo file Main.m launches a pMRI reconstruction example.

--------------------------------------------------------------------------- 
SPECIFICATIONS for using 3MGforPMRI:

-> The following paper should be cited in any future work using the
provided 3MGforPMRI toolbox:

# A. Florescu, E. Chouzenoux, J.-C. Pesquet, P. Ciuciu and S. Ciochina. 
A Majorize-Minimize Memory Gradient Method for Complex-Valued Inverse 
Problems. Signal Processing, Vol. 103, pages 285-295, 2014. 

-> The following acknowledgments should be included in any future work 
using the provided pRMI dataset: 

"The authors would like to thank Philippe Ciuciu and Sébastien Mériaux 
from NeuroSpin (CEA, France) for providing us the raw complex-valued MRI 
data and sensitivity maps."

-> The following website should be mentioned in any future work using the 
wavelet toolbox Wavelab850: 

http://statweb.stanford.edu/~wavelab/
---------------------------------------------------------------------------

