This is work in progress. Currently, the following functions are implemented.
total_variation_denoising(source::AbstractVector, λ::Number)
Compute the solution of the total variation regularized least square problem$$\\min_x \\frac{1}{2} \\sum_{k} |y_k - x_k|^2 + \\lambda \\sum_{k} |x_{k+1} - x_{k}|$$ using the explicit algorithm of Condat (2013) A Direct Algorithm for 1-D Total Variation Denoising. An inplace versiontotal_variation_denoising!(dest::AbstractVector, source::AbstractVector, λ::Number)
is also provided.group_sparse_total_variation_denoising(y::AbstractVector, λ::Number; group_size::Integer=1, max_iter::Integer=100)
Computemax_iter
iterations of the algorithm described by Selesnick and Chen (2013) Total variation denoising with overlapping group sparsity.fourier_pade(u, degree_num, degree_den, num_output=length(u))
Compute the Fourier-Padé reconstruction ofu
with degrees(degree_num, degree_den)
and evaluate it atnum_output
equispaced points, cf. Driscoll and Fornberg (2001) A Padé-based algorithm for overcoming the Gibbs phenomenon.