priors.TotalGeneralizedVariation

priors.TotalGeneralizedVariation#

class bartorch.priors.TotalGeneralizedVariation#

Bases: Regularizer

Second-order total generalized variation over axes (BART’s G).

Minimized jointly over the image and an auxiliary vector field \(z\):

\[\min_{z} \; \lambda \bigl( \alpha_1 \| \nabla x + z \|_1 + \alpha_0 \| \mathcal{E} z \|_1 \bigr)\]

with \(\mathcal{E}\) the symmetrized gradient (BART’s tgv_reg).

Accepted by bartorch.apps.pics(), bartorch.optim.ADMM and bartorch.optim.PRIDU only: the auxiliary variables extend the optimization variable, and BART counts them across the whole set of terms, so the term cannot be built alone.

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

  • weight (float) – \(\lambda\).

  • joint_axes (int or tuple of int, default=()) – Axes along which entries are thresholded jointly.

  • alpha (tuple of float, default=(1.0, sqrt(3))) – \((\alpha_1, \alpha_0)\).

Also has the methods and properties of Regularizer.