etomo.optimizers.primal_dual
etomo.optimizers.primal_dual#
This module defines primal dual optimizers
- condatvu(gradient_op, linear_op, dual_regularizer, cost_op, max_nb_of_iter=150, tau=None, sigma=None, relaxation_factor=1.0, x_init=None, add_positivity=True, std_est=None, std_est_method=None, std_thr=2.0, nb_of_reweights=1, metric_call_period=5, metrics=None, verbose=0, progress=True)[source]#
The Condat-Vu sparse reconstruction with reweightings.
- Parameters
gradient_op (GradBase) – the gradient operator.
linear_op (LinearBase) – the linear operator: seek the sparsity, ie. a wavelet transform.
dual_regularizer (ProximityParent) – the dual regularization operator
cost_op (costObj) – the cost function used to check for convergence during the optimization.
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
add_positivity (bool, default True) – use Positivity instead of Identity for prox
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.
progress (bool, default True) – triggers progressbar
- Returns
x_final (numpy.ndarray) – the estimated CONDAT-VU solution.
costs (list(float)) – the cost function values.
metrics (dict) – the requested metrics values during the optimization.
y_final (numpy.ndarray) – the estimated dual CONDAT-VU solution