-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CR-Sparse: XLA accelerated algorithms for inverse problems in sparse representations and compressive sensing #42
Comments
Hi @shailesh1729 thank you for your interest in pyOpenSci. I actually work with compressive sensing in my day job and think it's great to see some work on this in the Python space. I do think this is out of scope for pyOpenSci though. Have you considered submission at JOSS? |
This is off-topic for the question of scope, but some related repos just in case you're not aware of them already:
I get that you have different goals than most of them--building on top of XLA/JAX, which is great--but you might be curious about previous attempts at APIs, algorithms, etc. |
@NickleDave Thank you for your feedback. Now I better understand the scope of pyOpenSci. I will try to submit it to JOSS. Thank you for the references for previous works. Yes, I am slowly implementing these ideas in XLA/JAX. I was aware of some of the previous work but not all of them. This will be helpful. |
Happy I could help! I'll go ahead and close for now. |
thank you both! |
Submitting Author: Shailesh Kumar (@shailesh1729)
Package Name: CR-Sparse
One-Line Description of Package: XLA accelerated algorithms for inverse problems in sparse representations and compressive sensing
Repository Link (if existing): https://github.com/carnotresearch/cr-sparse
Documentation: https://carnotresearch.github.io/cr-sparse/
Description
This library aims to provide XLA/JAX based Python implementations for
various algorithms related to:
The library also provides
Addition information
Scope
Please indicate which category or categories this package falls under:
Explain how the and why the package falls under these categories (briefly, 1-2 sentences). Please note any areas you are unsure of:
The sparse recovery algorithms reconstruct sparse representations of a signal or a set of measurements in a dictionary (which is an overcomplete basis). The closest category I can think of is data munging.
Compressive sensing has applications in areas like photography, holography, facial recognition, magnetic resonance imaging, etc.
Sparse representations have applications in areas like image deblurring, denoising, dictionary learning, image compression, inpainting etc.
scikit-learn contains linear models which include implementations of algorithms like orthogonal matching pursuit (OMP), LASSO, LARS, OLS, etc.
CR-Sparse implements these algorithms using a functional programming paradigm built on top of JAX. This enables it to use immense optimization opportunities provided by the XLA compiler. In addition, the code can be deployed on GPUs and TPUs without any modification. These are significant advantages compared to the scikit-learn implementation.
The coverage of greedy sparse recovery algorithms in this package is bigger. E.g. it includes implementations of hard thresholding pursuit, compressive sampling matching pursuit, iterative hard thresholding, etc. in a single package.
We are also adding implementations for L1 minimization (convex optimization) based algorithms.
This is a pre-submission enquiry to understand if the CR-sparse package described below fits the submission criteria for pyOpenSci. Please do let us know what more should be done.
P.S. *Have feedback/comments about our review process? Leave a comment here
The text was updated successfully, but these errors were encountered: