Skip to content
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

[ENH]: Add a low rank denoiser #175

Open
paquiteau opened this issue Mar 18, 2024 · 2 comments
Open

[ENH]: Add a low rank denoiser #175

paquiteau opened this issue Mar 18, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@paquiteau
Copy link

paquiteau commented Mar 18, 2024

Hi there,

Among the classical denoising technique, low-rank approximation (a.k.a PCA) is a widely known technique, and the so-called singular value threshold corresponds to the proximal operator of the nuclear norm 1. It is used in particular in hyperspectral imaging but also for dynamic imaging problem (like functional or cardiac MRI). Having this into deepinv would be a nice addition.

I might propose a PR doing this the coming days/weeks.

PS: Local low rank denoising (where the low-rankness is enforced patch-wise) is also possible, in fact I have a package just doing that 2 (sadly with no working GPU acceleration for now (see cupy/cupy#8009).

Footnotes

  1. Cai, J.-F., Candès, E. J., & Shen, Z. (2010). A Singular Value Thresholding Algorithm for Matrix Completion. SIAM Journal on Optimization, 20(4), 1956–1982. https://doi.org/10/bqxph7

  2. https://github.com/paquiteau/patch-denoising

@matthieutrs matthieutrs added the enhancement New feature or request label Mar 18, 2024
@tachella
Copy link
Contributor

Hey!

This would be a nice idea, did you make any progress?

@paquiteau
Copy link
Author

Hello again ! I plan to resume the work on this in the coming weeks. There was some bug in Pytorch (pytorch/pytorch#122312) that has been recently fixed.

So adding this should be fairly easy now (for both real and complex-valued data; as an MRI guy, I am more interested in the latter)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants