etomo.optimizers.forward_backward
etomo.optimizers.forward_backward#
FISTA or POGM MRI reconstruction.
- fista(gradient_op, linear_op, prox_op, cost_op, lambda_init=1.0, max_nb_of_iter=300, x_init=None, metric_call_period=5, metrics=None, verbose=0, progress=True, **lambda_update_params)[source]#
The FISTA sparse reconstruction
- Parameters
gradient_op (GradBase) – the gradient operator.
linear_op (LinearBase) – the linear operator: seek the sparsity, ie. a wavelet transform.
prox_op (ProximityParent) – the proximal operator.
cost_op (costObj) – the cost function used to check for convergence during the optimization.
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.
progress (bool, default True) – triggers progressbar
lambda_update_params (dict) – Parameters for the lambda update in FISTA mode
- Returns
x_final (numpy.ndarray) – the estimated FISTA solution.
costs (list(float)) – the cost function values.
metrics (dict) – the requested metrics values during the optimization.
- pogm(gradient_op, linear_op, prox_op, cost_op=None, max_nb_of_iter=300, x_init=None, metric_call_period=5, sigma_bar=0.96, metrics=None, verbose=0, progress=True)[source]#
Perform sparse reconstruction using the POGM algorithm.
- Parameters
gradient_op (GradBase) – the gradient operator.
linear_op (LinearBase) – the linear operator: seek the sparsity, ie. a wavelet transform.
prox_op (ProximityParent) – the proximal operator.
cost_op (costObj, default None) – the cost function used to check for convergence during the optimization.
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 (np.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.
progress (bool, default True) – triggers progressbar
- Returns
x_final (numpy.ndarray) – the estimated POGM solution.
costs (list(float)) – the cost function values.
metrics (dict) – the requested metrics values during the optimization.