mmuckley / torchkbnufft

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

data range changed after processing #72

Closed bigponglee closed 1 year ago

bigponglee commented 1 year ago

For example, in the provided code example Toeplitz Example,you can find that: image After applying the nufft operation, the range of the data has changed a lot. Although it is possible to force the unification of the data range through data normalization, how to normalize itself is still debatable.

mmuckley commented 1 year ago

Hello @bigponglee, this is entirely expected. By using the NUFFT you are applying a coordinate transformation to an integral without using the Jacobian to normalize the new unit of integration. There are methods such as density compensation) to partially, but not completely compensate for the effect.

wenqihuang commented 1 year ago

Hi @mmuckley, thanks for the explanation! I'm also encountering this problem and using an ugly operator normalization to imperfectly fix it. Would you share some papers you mentioned as density compensation? It would be very helpful! Many thanks! Best, Wenqi

mmuckley commented 1 year ago

@wenqihuang several people use this paper as a reference: https://onlinelibrary.wiley.com/doi/abs/10.1002/(SICI)1522-2594(199901)41:1%3C179::AID-MRM25%3E3.0.CO;2-V

mmuckley commented 1 year ago

Closing as this does not document a bug.