Matlab and C code developed by Laurent Condat
Matlab code to recover the locations and amplitudes of spikes, from noisy lowpass samples (several methods implemented: matrix pencil, Cadzow denoising...): pulses_recovery.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).
C code to project a vector onto the l1 norm ball: condat_l1ballproj.c
Matlab code to project onto the simplex or the l1 ball: proj_simplex_l1ball.m
Matlab code to project a matrix onto a l1,infinity norm ball: projl1inf.m. Much faster that A. Quattoni's code on her webpage.
Matlab code for total variation denoising: TVdenoise.m
Matlab code for total generalized variation denoising: TGVdenoise.m
Matlab code to perform deconvolution or joint deblurring/demosaicking by total variation minimization: optimization.zip
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
New, 2017: A new, even better, algorithm: Matlab code and C code
Color image processing for digital photography
Matlab code to perform demosaicking or joint demosaicking/denoising by total variation minimization: denoisaicking_TV_Condat.zip and by Tikhonov regularization: denoisaicking_Condat.zip
Matlab code to generate random red, green, blue patterns (color filter arrays) with blue noise properties: CFArandom1.m, CFArandom2.m