bartorch.prox.TotalGeneralizedVariation

bartorch.prox.TotalGeneralizedVariation#

class bartorch.prox.TotalGeneralizedVariation(axes, weight, joint_axes=(), *, alpha=(1.0, 3.0**0.5))#

Total generalized variation over axes (pics -R G).

Adds unknowns to the optimization: bartorch.tools.pics(), bartorch.optim.ADMM and bartorch.optim.PRIDU take it, and nothing else does. See the module’s introduction.

Parameters:
  • axes (int or tuple of int) – Axes to differentiate, as indices into the image’s shape.

  • weight (float)

  • joint_axes (int or tuple of int, optional)

  • alpha (tuple of float) – BART’s alpha1:alpha0 pair (pics --alpha).

__init__(axes, weight, joint_axes=(), *, alpha=(1.0, 3.0**0.5))#

Methods

__init__(axes, weight[, joint_axes, alpha])

apply_transform(x[, image_shape, mode])

This term's transform applied to x, without making an operator of it.

build(shape)

The BART operator for this term over an image of C-order shape.

prox(x[, gamma, image_shape])

prox_{gamma f}(x), the operator BART's solvers call.

prox_shape(image_shape)

The C-order shape this term's proximal operator works on.

rewind(image_shape)

Put this term's own random generator back to where it started.

transform(image_shape)

The operator BART puts in front of this term's proximal operator.

transform_is_identity(image_shape)

Whether that transform is the identity, as BART decides it.

Attributes

axes

count

joint_axes

kind

weight