C, CUDA, and C++ code

The C/CUDA version of the WaveAtom toolbox (2013) is due to Matti Leinonen. It has transforms in 1D through 5D, with CPU and GPU parallelism, and .m files for easy I/O operations to and from Matlab.



and extract using tar zxvf WaveAtomC_0.3.tar.gz in Unix. A directory WaveAtomC_0.3 will be created. Start with the README file.

A C++ translation of the WaveAtom-1.0 code was kindly provided by Jalal Fadili and Mahmoud Ghoniem in December 2007, as part of the new toolbox MCALabC1.1. The primary purpose of MCALabC is to provide routines for ell-1 minimization via iterative thresholding for sparse atomic expansions in dictionaries. MCALabC is distributed under the open-source license CeCILL. The Matlab version of MCALab is here.


     MCALabC1.1.tgz from greyc.ensicaen.fr, or

     MCALabC1.1.tgz from waveatom.org (same file, mirror server)

and extract using tar zxvf MCALabC1.1.tgz in Unix. A directory MCALabC1.1 will be created. Start with the README file.

The source WaveAtom code in C++ is in the directory MCALabC1.1/src/. The mex files for integration in Matlab are in the directory MCALabC1.1/matlab/. 

Note: all the calculations are done using "float" as variable type in C++, whereas Matlab uses "double". In all other respects the C++ version is a faithful translation of the Matlab version and can be used interchangeably when properly interfaced.