mri.optimizers.primal_dual
mri.optimizers.primal_dual#
This module defines primal dual optimizers.
- condatvu(gradient_op, linear_op, dual_regularizer, cost_op, kspace_generator=None, estimate_call_period=None, max_nb_of_iter=150, tau=None, sigma=None, relaxation_factor=1.0, x_init=None, std_est=None, std_est_method=None, std_thr=2.0, nb_of_reweights=1, metric_call_period=5, metrics={}, verbose=0)[source]#
Condat-Vu sparse reconstruction with reweightings.
- 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.
dual_regularizer (instance of ProximityParent) – the dual regularization 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.
max_nb_of_iter (int, default 150) – the maximum number of iterations in the Condat-Vu proximal-dual splitting algorithm.
tau (float, default None) – parameters of the Condat-Vu proximal-dual splitting algorithm. If None estimates these parameters.
sigma (float, default None) – parameters of the Condat-Vu proximal-dual splitting algorithm. If None estimates these parameters.
relaxation_factor (float, default 0.5) – parameter of the Condat-Vu proximal-dual splitting algorithm. If 1, no relaxation.
x_init (numpy.ndarray (optional, default None)) – the initial guess of image
std_est (float, default None) – the noise std estimate. If None use the MAD as a consistent estimator for the std.
std_est_method (str, default None) – if the standard deviation is not set, estimate this parameter using the mad routine in the image (‘primal’) or in the sparse wavelet decomposition (‘dual’) domain.
std_thr (float, default 2.) – use this treshold expressed as a number of sigma in the residual proximity operator during the thresholding.
relaxation_factor – parameter of the Condat-Vu proximal-dual splitting algorithm. If 1, no relaxation.
nb_of_reweights (int, default 1) – the number of reweightings.
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, default 0) – the verbosity level.
- Returns
x_final (numpy.ndarray) – the estimated CONDAT-VU solution.
costs (list of float) – the cost function values.
metrics (dict) – the requested metrics values during the optimization.
y_final (numpy.ndarray) – the estimated dual CONDAT-VU solution