mmuckley / torchkbnufft

A high-level, easy-to-deploy non-uniform Fast Fourier Transform in PyTorch.
https://torchkbnufft.readthedocs.io/
MIT License
204 stars 44 forks source link

Inverse non-uniform Fourier Transform #6

Closed kaanaksit closed 3 years ago

kaanaksit commented 3 years ago

Thank you very much for putting torchkbnufft together. I like the fact that it supports autograd. My question is how does one take an inverse non-uniform Fourier Transform with torchkbnufft? Thanks!

mmuckley commented 3 years ago

Hello @kunguz, in general there isn't an inverse NUFFT. There are a few options for getting close to one:

  1. Apply an adjoint NUFFT in combination with density compensation. The density compensation depends on the k-space trajectory. There are a lot of papers for calculating density compensations.
  2. Use the forward and adjoint NUFFTs in an iterative algorithm like conjugate gradient. This could amplify noise, so you may want to include regularization.

Hope this helps.

kaanaksit commented 3 years ago

Thank you @mmuckley after reading a bit the documentation of finufft, a sister library to yours but not torch based, I understand you much better. We can close this issue as my question was fundamentally wrong. Thanks again!