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