priors.InfimalConvolutionTGV#
- class bartorch.priors.InfimalConvolutionTGV#
Bases:
RegularizerInfimal convolution of total generalized variation over
axes(BART’sV).The image is split into two components as for
InfimalConvolutionTV, each penalized by second-order TGV with its own auxiliary vector field:\[\min_{z, u, w} \; \lambda \Bigl[ \gamma_1 \bigl( \alpha_1 \| \nabla (x + z) + u \|_1 + \alpha_0 \| \mathcal{E} u \|_1 \bigr) + \gamma_2 \bigl( \alpha_1 \| \nabla z + w \|_1 + \alpha_0 \| \mathcal{E} w \|_1 \bigr) \Bigr]\](BART’s
ictgv_reg), with the same gradient for both components.Accepted by
bartorch.apps.pics(),bartorch.optim.ADMMandbartorch.optim.PRIDUonly: the auxiliary variables extend the optimization variable, and BART counts them across the whole set of terms, so the term cannot be built alone.axesmust include at least one of the image’s last three axes (BART’s spatial axes) and at least one before them, such as subspace coefficients or the frames of a time series.- 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)\).
gamma (tuple of float, default=(1.0, 1.0)) – \((\gamma_1, \gamma_2)\).
- Raises:
ValueError –
axeslacks a spatial or a non-spatial axis (raised when the term is used in a solve).
Also has the methods and properties of Regularizer.