King Abdullah University of Science and Technology (KAUST), Saudi Arabia
Laurent Condat
Senior Research Scientist

Building 12, Office 3122


home

research

publications

talks

software

images

teaching

 

Convex optimization

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).
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 than A. Quattoni's code on her webpage.

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 Stephen Becker.
New, 2017: A new, even better, algorithm: Matlab code and C code


Super-resolution

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

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.mCFArandom2.m