mri.operators.gradient.base#

Base class for defining gradient operators.

class GradBaseMRI(operator, trans_operator, shape, lips_calc_max_iter=10, lipschitz_cst=None, dtype=<class 'numpy.complex64'>, num_check_lips=10, verbose=0, **kwargs)[source]#

Bases: modopt.opt.gradient.GradBasic

Base Gradient class for all gradient operators.

Implement the gradient of following function with respect to x: .. math:: ||M x - y|| ^ 2

Parameters
  • data (numpy.ndarray) – The input data array corresponding to observed data y.

  • operator (function) – A function that implements M.

  • trans_operator (function) – A function that implements M ^ T.

  • shape (tuple) – The shape of observed data y.

  • lips_calc_max_iter (int, default=10) – Number of iterations to calculate the lipschitz constant when lipschitz_cst is provided as None. The default value is 10.

  • lipschitz_cst (int, default=None) – The lipschitz constant for the given operator. If not specified, this is calculated using the power method. The default value is None.

  • num_check_lips (int, default=10) – Number of iterations to check if lipschitz constant is correct. The default value is 10.

  • verbose (int, default=0) – Verbosity level for debug prints. When verbose and num_check_lips are both not equal to 0, it prints if the lipschitz constraints are satisfied. The default value is 0.