mri.optimizers.forward_backward
mri.optimizers.forward_backward#
FISTA or POGM MRI reconstruction.
- fista(gradient_op, linear_op, prox_op, cost_op, kspace_generator=None, estimate_call_period=None, lambda_init=1.0, max_nb_of_iter=300, x_init=None, metric_call_period=5, metrics={}, verbose=0, **lambda_update_params)[source]#
FISTA sparse reconstruction.
- Parameters
gradient_op (instance of class GradBase) – the gradient operator.
linear_op (instance of LinearBase) – the linear operator: seek the sparsity, ie. a wavelet transform.
prox_op (instance of ProximityParent) – the proximal operator.
cost_op (instance of costObj) – the cost function used to check for convergence during the optimization.
kspace_generator (instance of class BaseKspaceGenerator, default None) – If not None, run the algorithm in an online way, where the data is updated between iterations.
estimate_call_period (int, default None) – In an online configuration (kspace_generator is defined), retrieve partial results at this interval.
lambda_init (float, (default 1.0)) – initial value for the FISTA step.
max_nb_of_iter (int (optional, default 300)) – the maximum number of iterations in the Condat-Vu proximal-dual splitting algorithm.
x_init (numpy.ndarray (optional, default None)) – Inital guess for the image
metric_call_period (int (default 5)) – the period on which the metrics are compute.
metrics (dict (optional, default None)) – the list of desired convergence metrics: {‘metric_name’: [@metric, metric_parameter]}. See modopt for the metrics API.
verbose (int (optional, default 0)) – the verbosity level.
lambda_update_params (dict,) – Parameters for the lambda update in FISTA mode
- Returns
x_final (numpy.ndarray) – the estimated FISTA solution.
costs (list of float) – the cost function values.
metrics (dict) – the requested metrics values during the optimization.
- pogm(gradient_op, linear_op, prox_op, cost_op=None, kspace_generator=None, estimate_call_period=None, max_nb_of_iter=300, x_init=None, metric_call_period=5, sigma_bar=0.96, metrics={}, verbose=0)[source]#
Perform sparse reconstruction using the POGM algorithm.
- Parameters
gradient_op (instance of class GradBase) – the gradient operator.
linear_op (instance of LinearBase) – the linear operator: seek the sparsity, ie. a wavelet transform.
prox_op (instance of ProximityParent) – the proximal operator.
cost_op (instance of costObj, (default None)) – the cost function used to check for convergence during the optimization.
kspace_generator (instance of BaseKspaceGenerator, default None) – If not None, use it to perform an online reconstruction.
estimate_call_period (int, default None) – In an online configuration (kspace_generator is defined), retrieve partial results at this interval.
lambda_init (float, (default 1.0)) – initial value for the FISTA step.
max_nb_of_iter (int (optional, default 300)) – the maximum number of iterations in the POGM algorithm.
x_init (numpy.ndarray (optional, default None)) – the initial guess of image
metric_call_period (int (default 5)) – the period on which the metrics are computed.
metrics (dict (optional, default None)) – the list of desired convergence metrics: {‘metric_name’: [@metric, metric_parameter]}. See modopt for the metrics API.
verbose (int (optional, default 0)) – the verbosity level.
- Returns
x_final (numpy.ndarray) – the estimated POGM solution.
costs (list of float) – the cost function values.
metrics (dict) – the requested metrics values during the optimization.