optim.IST#
- class bartorch.optim.IST#
Bases:
Iterative soft thresholding, looping
ISTBlock.- Parameters:
regularizers (Regularizer or ImplicitPrior, default=None) – Exactly one term, whose transform is the identity: the iteration applies its proximal operator to the image.
maxiter (int, default=30)
step (float, default=0.95) – Step size.
eigen (bool, default=False) – Scale the step by the largest eigenvalue of the normal operator, estimated with 30 power iterations.
hogwild (bool, default=False) – BART’s
hogwildsetting, which its IST rejects.cclambda (float, default=0.0) – Weight of an identity added to the normal operator.
precond (LinearOperator, default=None) – Left preconditioner,
lsqr2_create’sprecond_op: chained onto the normal operator and onto the adjoint, so the iteration seesM(A^H A + lambda) x = M A^H y. Must be positive definite – BART composes it without symmetrizing. BART’s own reconstructions pass none.
- __call__()#
Solve for the image given data
yand encodingA.- Parameters:
y (torch.Tensor) – Data of
A.oshape, recorded for autograd when it requires a gradient.A (LinearOperator) – The encoding. A BART-backed operator is applied without leaving the library; a Python-defined one is called back once per application.
x0 (torch.Tensor, default=None) – Warm start of
A.ishape; without one the iteration starts at zero.
- Returns:
Complex64 solution of
A.ishape, withy’s batch in front. A batch is solved one item at a time, each as its own run.- Return type:
torch.Tensor