Regularization and denoising#
bartorch.priors provides the regularization terms of BART’s reconstructions.
A term represents a functional \(g(Gx)\): BART builds the proximal operator of
\(g\) and the linear transform \(G\), and the solvers of bartorch.optim
apply them. An ImplicitPrior takes the place of a term
with a denoiser; with spatial= it converts the complex image to the real
planes an image-restoration network takes. Three functions apply BART’s
denoisers to an image directly. Inverse problems and their solvers introduces functionals,
proximal operators and the splitting that a nontrivial \(G\) requires.
Term |
Functional \(g(Gx)\) |
Transform \(G\) |
Solvers |
|---|---|---|---|
\(\lambda\lVert x\rVert_1\) |
\(I\) |
IST, FISTA, ADMM, PRIDU |
|
\(\lambda\lVert \Psi x\rVert_1\) |
\(I\); \(\Psi\) is inside the proximal operator |
IST, FISTA, ADMM, PRIDU |
|
\(\lambda\sum_b \lVert B_b x\rVert_*\) |
\(I\); the blocks are inside the proximal operator |
IST, FISTA, ADMM, PRIDU |
|
\(\tfrac{\lambda}{2}\lVert x\rVert_2^2\) |
\(I\) |
IST, FISTA, ADMM, PRIDU |
|
Indicator of \(\operatorname{Re} x \ge 0\) and \(\operatorname{Im} x \ge 0\) |
\(I\) |
IST, FISTA, ADMM, PRIDU |
|
\(\lambda\sum_r \lVert (\nabla x)_r\rVert_2\) (isotropic) |
Finite differences \(\nabla\) |
ADMM, PRIDU |
|
\(\lambda\lVert F x\rVert_1\) |
Fourier transform \(F\) |
ADMM, PRIDU |
|
\(\lambda\lVert L x\rVert_1\) |
Laplacian \(L\) |
ADMM, PRIDU |
|
\(\lambda\lVert \operatorname{Im} x\rVert_1\) |
Imaginary part |
ADMM, PRIDU |
|
\(\tfrac{\lambda}{2}\lVert \operatorname{Im} x\rVert_2^2\) |
Imaginary part |
ADMM, PRIDU |
|
Second-order TGV |
Extends the variable |
ADMM, PRIDU |
|
Infimal convolution of two TV terms |
Extends the variable |
ADMM, PRIDU |
|
Infimal convolution of two TGV terms |
Extends the variable |
ADMM, PRIDU |
\(\lambda\) is the term’s weight, relative to data divided by
data_scaling(); \(\lVert\cdot\rVert_1\) of a complex array
is the sum of the moduli, and a term’s joint_axes group entries into an
\(\ell_2\) norm first. Every term is also accepted by
bartorch.apps.pics(). Regularizer.detach() holds a term fixed in
a differentiated solve.
Term classes#
Object |
Description |
|---|---|
Base class: the proximal operator and the transform of a BART term |
|
A denoiser or a real-valued image network in place of a proximal operator (plug-and-play), optionally through a transform |
Sparsity-promoting terms#
Object |
Description |
|---|---|
\(\ell_1\) norm of the image |
|
\(\ell_1\) norm of the wavelet coefficients |
|
\(\ell_1\) norm of the Fourier coefficients |
|
Total variation |
|
\(\ell_1\) norm of the Laplacian |
|
\(\ell_1\) norm of the imaginary part |
Quadratic terms#
Object |
Description |
|---|---|
Squared \(\ell_2\) norm of the image (Tikhonov) |
|
Squared \(\ell_2\) norm of the imaginary part |
Low-rank terms#
Object |
Description |
|---|---|
Nuclear norm of image blocks |
Constraints#
Object |
Description |
|---|---|
Projection clamping the real and imaginary parts at zero |
Terms with auxiliary variables#
The optimization variable is the image followed by auxiliary fields, which BART counts across the whole set of terms; these terms cannot be built alone, and the solvers return the image only.
Object |
Description |
|---|---|
Second-order total generalized variation |
|
Infimal convolution of total variation |
|
Infimal convolution of total generalized variation |