Skip to main content

NUFFT module for PyTorch.

Project description

NUFFT module for PyTorch

Introduction

There is no built-in NUFFT function in PyTorch, neither is Toeplitz MSE loss module, which is important for non-Cartesian MRI reconstruction works. To fill this gap, this package provides:

  1. A high performance NUFFT torch.nn module wrapping cufinufft [3] and finufft [1,2] - they are the fastest NUFFT backends to the best of my knowledge.
  2. Another elegant MSE loss (mean square of l2 loss) module for non-Cartesian reconstruction with DCF preconditioning boosted by Toeplitz operator. Basically, this is done by replacing the two-pass NUFFTs with a Cartesian fast Fourier convolution. This method is also fast but slightly slower than cufinufft in practice. Use as you need.

Both CPU and GPU are supported. Benchmark indicates a 2ms (NUFFT module) or a 3ms (Toeplitz MSE loss module) time cost per iteration in a 256×256 inverse NUFFT problem using a RTX3090 GPU.

Install

For offline installing:

$ bash install.bash

To install with pip:

$ pip install torchfinufft-ryan

Optionally, to enable CUDA computation, cufinufft>=2.5.0 has to be installed. To solve for the density compensation function, I recommend my mrarbdcf package [4].

Usage

Please refer to the exmaple folder - there are minimal example(s) for tutorial.

References

[1] Barnett AH. Aliasing error of the kerne exp(β√(1-z²)) in the nonuniform fast Fourier transform. Applied and Computational Harmonic Analysis. 2021 Mar 1;51:1–16.

[2] Barnett AH, Magland J, af Klinteberg L. A Parallel Nonuniform Fast Fourier Transform Library Based on an “Exponential of Semicircle" Kernel. SIAM J Sci Comput. 2019 Jan;41(5):C479–504.

[3] Shih Y hsuan, Wright G, Anden J, Blaschke J, Barnett AH. cuFINUFFT: a load-balanced GPU library for general-purpose nonuniform FFTs. 2021 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). 2021 June;688–97.

[4] Luo R, Hu P, Qi H. Sampling Density Compensation using Fast Fourier Deconvolution. In: Proceedings of the Cape Town - 2026 ISMRM-ISMRT Annual Meeting and Exhibition, Cape Town, South Africa. Program #461-03-015.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torchfinufft_ryan-2.2.1.tar.gz (16.0 kB view details)

Uploaded Source

File details

Details for the file torchfinufft_ryan-2.2.1.tar.gz.

File metadata

  • Download URL: torchfinufft_ryan-2.2.1.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for torchfinufft_ryan-2.2.1.tar.gz
Algorithm Hash digest
SHA256 bdea33980e9ab79b2918e6999b69e137fb6f02d7d25d56cb3175041baa86e85c
MD5 02ee869b064b729ad42185d00a924d63
BLAKE2b-256 5fdb56fefd88eb475e7f84323e6c81fdd9c6caace4f8ab46460f51e96da20595

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page