Thought this was cool: Compressive Sensing Solvers in Python and the ones that ought be in Python, R,….
Due to being featured on a the SciPyTip twitter stream yesterday, and prompted by the question of Jaidev, I went through the list of compressive solvers and tried to find the ones that were developed using Python. What developers need to realize is that the vast majority of solvers in the compressive sensing big picture page are in Matlab mostly because those are research prototypes. Python codes are somewhat rare because the field is fluctuating fast. The initial solvers were a 1000 slower than some that appeared four years later.
If you are a developer, and want to be a hipster when it comes to providing some of the best algorithms out there in compressive sensing (i.e.l finding the sparsest solution to underdetermined linear systems of equations), then this blog entry is for you.
Here is a list of current solvers written in Python. As noted yesterday, while L1 solvers are OK to see “if compressive sensing work” on small problems, they become slow when it comes to larger ones. For that you really need to look at the AMP solvers I mentioned yesterday. Hence I am also adding another list of solvers that ought to be implemented because:they are among the most optimal and their coding complexity is very much reduced compared to earlier solvers.
- – update – 2012 pyCSalgos (see comment from Nicolae “…They are usable but not thoroughly tested, but could at least be used as a starting point….”). I note the implementation of SL0, 2 greedy algos and two iterative algos. Some of the iteratrive algos could be made to implement the Approximate Message Passing (AMP) solvers.
- 2011 ASPICS: Applying Statistical Physics to Inference in Compressed Sensing (AMP)
- 2011 L1 Minimization in Python (but caveat for using CVOPT) (L1)
- 2011 Scikits-learn: Compressive sensing: tomography reconstruction with L1 prior (Lasso) (L1)
- 2009 Two stage L1 method (L1)
GAMP mostly because this is an AMP solver that is continually supported by several researchers, Turbo AMP for imaging seems to do weill for images, SL0 because it is very simple in terms of coding complexity and BSBL as it seems to provide good results even when the signals are not sparse. If you do implement any of these algorithms please do let me know and I’ll feature them on the blog and the big picture.
Image Credit: NASA/JPL/Space Science Institute
Join our Reddit Experiment, Join the CompressiveSensing subreddit and post there !
Liked this entry ? subscribe to Nuit Blanche’s feed, there’s more where that came from. You can also subscribe to Nuit Blanche by Email, explore the Big Picture in Compressive Sensing or the Matrix Factorization Jungle and join the conversations on compressive sensing, advanced matrix factorization and calibration issues on Linkedin.