CoSaMP and OMP for sparse recovery
Orthogonal matching Pursuit (OMP) and Compressive Sampling Matched Pursuit (CoSaMP) algorithm (see Needell and Tropp's 2008 paper http://arxiv.org/abs/0803.2392 ). This implementation allows several variants, and it also allows you to specify a matrix via function handles (useful if your matrix represents an FFT or similar).
A demo code shows how to use both the OMP.m and CoSaMP.m functions.
OMP and CoSaMP are useful for sparse recovery problems; in particular, they can be used for compressed sensing (aka compressive sampling), image denoising and deblurring, seismic tomography problems, MRI, etc.
Another good OMP implementation (C++, Matlab) is here:
http://www.di.ens.fr/willow/SPAMS/
(Updated, March 2012: SPAMS now has python and R bindings as well)
And a CoSaMP implementation (I haven't tested):
http://media.aau.dk/null_space_pursuits/2011/07/a-few-corrections-to-cosamp-and-sp-matlab.html
Edit: that CoSaMP implementation mentioned above is buggy. Read this:
http://media.aau.dk/null_space_pursuits/2011/08/cosamp-and-cosaomp.html
Update, Feb 2012: for a blog discussion of several way to implement CoSaMP, see this website:
http://media.aau.dk/null_space_pursuits/2012/02/speedups-in-omp-implementations.html
Cite As
Stephen Becker (2024). CoSaMP and OMP for sparse recovery (https://www.mathworks.com/matlabcentral/fileexchange/32402-cosamp-and-omp-for-sparse-recovery), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Mathematics > Sparse Matrices >
- Sciences > Geoscience > Geology >
Tags
Acknowledgements
Inspired by: Toolbox Sparse Optmization, Greedy Algorithms promoting Group Sparsity, Orthogonal Least Squares Algorithms for Sparse Signal Reconstruction
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.7 | Fixed bug with complex numbers (Aug 2016) |
|
|
1.6.0.0 | Fixing the bug for complex mode. Minor changes to the solvers. Added complex data test mode to the test script. |
||
1.3.0.0 | Fixing a bug that affected versions of Matlab prior to 2009b. See http://blogs.mathworks.com/loren/2009/09/11/matlab-release-2009b-best-new-feature-or/ |
||
1.2.0.0 | editing description text a bit |
||
1.1.0.0 | Adding new links in the description, and updated the demo file slightly. |
||
1.0.0.0 |