QuadPenalty¶
template <typename T1> class QuadPenalty : public Robject<T1>
Quadratic (Tikhonov) regularization penalty.
Implements the penalty: $\(R(\mathbf{x}) = \frac{\beta}{2}\|C\mathbf{x}\|^2\)$
where \(C\) is the finite-difference operator inherited from Robject.
Potential functions: - \(\psi(d) = \frac{1}{2}d^2\) - \(\dot\psi(d) = d\) - \(\omega(d) = 1\)
All three potential functions correspond to the quadratic case: wpot returns all-ones, dpot returns the identity, and pot returns \(\frac{1}{2}|d|^2\).
\(\beta\) controls regularization strength. Larger \(\beta\) produces smoother images with lower noise; smaller \(\beta\) preserves detail but may amplify noise. Typical range depends on SNR and data scaling.
QuadPenalty<float> R(Nx, Ny, Nz, beta);
auto xhat = solve_pwls_pcg<float>(x0, G, W, yi, R, niter);
See : TVPenalty for an edge-preserving alternative.
See : Robject for the base class interface.
T1
: Floating-point precision type (float or double).
Functions¶
| Name | Description |
|---|---|
| QuadPenalty | Default constructor. |
| QuadPenalty | Construct a quadratic penalty operator. |
| wpot | Quadratic weight function: returns all-ones (constant weight). d : Finite-difference vector. Return : Vector of ones, same length as d. |
| dpot | Quadratic derivative: returns d (identity). d : Finite-difference vector. Return : d unchanged. |
| pot | Quadratic potential: returns $\frac{1}{2} |
Function Details¶
QuadPenalty¶
QuadPenalty()
Default constructor.
QuadPenalty(uword nx, uword ny, uword nz, T1 beta, uword dims2penalize = 3)
Construct a quadratic penalty operator.
nx
: Image x-dimension.
ny
: Image y-dimension.
nz
: Image z-dimension (use 1 for 2-D).
beta
: Regularization strength \(\beta\).
dims2penalize
: Number of spatial dimensions to penalize (default 3).
dpot¶
Col<CxT1> dpot(const Col<CxT1>& d) const override
Quadratic derivative: returns `d` (identity).
d
: Finite-difference vector.
Return
: d unchanged.
pot¶
Col<CxT1> pot(const Col<CxT1>& d) const override
Quadratic potential: returns $\frac{1}{2}|d|^2$.
d
: Finite-difference vector.
Return : Per-element values \(\frac{1}{2}|d_k|^2\).
wpot¶
Col<CxT1> wpot(const Col<CxT1>& d) const override
Quadratic weight function: returns all-ones (constant weight).
d
: Finite-difference vector.
Return
: Vector of ones, same length as d.