Matlab and C code developed by Laurent Condat
Matlab code to compute the proximity operator or project on the ball of several norms: l_1, l_2, l_inf, l_1,2, l_inf,2, l_1,inf... : Condat_proxs.m
C code to project a vector onto the simplex (by sorting, using a heap, algo. of Michelot, algo. of Duchi et al...): condat_simplexproj.c. This file also includes an efficient C implementation of Floyd and Rivest's SELECT algorithm (e.g. to find the median of a vector).
Matlab code for total variation denoising: TVdenoise.m parrotgray.png Matlab code for total generalized variation denoising: TGVdenoise.m parrotgray.png Matlab code to perform deconvolution or joint deblurring/demosaicking by total variation minimization: optimization.zip Matlab code for total nuclear variation denoising of color images: TNVdenoise.m parrot2.tif
C code to perform 1D total variation denoising or fused lasso signal approximation (with my algorithm of 2013 or the taut string algorithm): condat_fast_tv.c.
For use in Matlab, mex files made by
Matlab code to recover the locations and amplitudes of spikes, from noisy lowpass samples (several methods implemented: matrix pencil, Cadzow denoising...): pulses_recovery.m
Color image processing for digital photography