priors.TotalGeneralizedVariation

priors.TotalGeneralizedVariation#

class bartorch.priors.TotalGeneralizedVariation#

Bases: Regularizer

Total generalized variation over axes.

Second-order TGV, minimized jointly over the image and an auxiliary vector field \(z\):

\[\min_{x, z} \; \alpha_1 \| \nabla x + z \|_1 + \alpha_0 \| \mathcal{E} z \|_1\]

with \(\mathcal{E}\) the symmetrized gradient and alpha giving \((\alpha_1, \alpha_0)\) (BART’s tgv_reg).

Only bartorch.apps.pics(), bartorch.optim.ADMM and bartorch.optim.PRIDU accept this term; the auxiliary variables extend the optimization variable and BART counts that extension across the whole set of terms, so the term cannot be built in isolation.

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, default=())

  • alpha (tuple of float, default=(1.0, sqrt(3))) – The pair \((\alpha_1, \alpha_0)\) in the objective above.

Also has the methods and properties of Regularizer.