Skip to main content

A robust, easy-to-deploy non-uniform Fast Fourier Transform in TensorFlow.

Project description

TF KB-NUFFT

GitHub | Build Status

Simple installation from pypi:

pip install tfkbnufft

About

This package is a verly early-stage and modest adaptation to TensorFlow of the torchkbnufft package written by Matthew Muckley for PyTorch. Please cite his work appropriately if you use this package.

Computation speed

The computation speeds are given in seconds, for a 256x256 image with a spokelength of 512 and 405 spokes. These numbers are not to be directly compared to those of torchkbnufft, since the computation is not the same. They are just to give a sense of the time required for computation.

Operation CPU GPU
Forward NUFFT 0.1676 0.0626
Adjoint NUFFT 0.7005 0.0635

To obtain these numbers for your machine, run the following commands, after installing this package:

pip install scikit-image Pillow
python profile_tfkbnufft.py

These numbers were obtained with a Quadro P5000.

Gradients

w.r.t trajectory

This is experimental currently and is WIP. Please be cautious. Currently this is tested in CI against results from NDFT, but clear mathematical backing to some aspects are still being understood for applying the chain rule.

References

  1. Fessler, J. A., & Sutton, B. P. (2003). Nonuniform fast Fourier transforms using min-max interpolation. IEEE transactions on signal processing, 51(2), 560-574.

  2. Beatty, P. J., Nishimura, D. G., & Pauly, J. M. (2005). Rapid gridding reconstruction with a minimal oversampling ratio. IEEE transactions on medical imaging, 24(6), 799-808.

  3. Feichtinger, H. G., Gr, K., & Strohmer, T. (1995). Efficient numerical methods in non-uniform sampling theory. Numerische Mathematik, 69(4), 423-440.

Citation

If you want to cite the package, you can use any of the following:

@conference{muckley:20:tah,
  author = {M. J. Muckley and R. Stern and T. Murrell and F. Knoll},
  title = {{TorchKbNufft}: A High-Level, Hardware-Agnostic Non-Uniform Fast Fourier Transform},
  booktitle = {ISMRM Workshop on Data Sampling \& Image Reconstruction},
  year = 2020
}

@misc{Muckley2019,
  author = {Muckley, M.J. et al.},
  title = {Torch KB-NUFFT},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/mmuckley/torchkbnufft}}
}

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

tfkbnufft-0.2.4.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

tfkbnufft-0.2.4-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file tfkbnufft-0.2.4.tar.gz.

File metadata

  • Download URL: tfkbnufft-0.2.4.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for tfkbnufft-0.2.4.tar.gz
Algorithm Hash digest
SHA256 e55d5d294a9c4fe5205b9d6e3598b93b4bb12fe36c06b87b35ffb268d9d7f735
MD5 b47ba706af001068119249d612c5f735
BLAKE2b-256 a9f8b5f86421c2718b388c6c8b68d7bde1f65f28d8230c0ce953f69bbf25fe01

See more details on using hashes here.

File details

Details for the file tfkbnufft-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: tfkbnufft-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 24.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for tfkbnufft-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fe7a336564043d93a96cdd783015c3db8adedac86845e1bf30470234a82301ed
MD5 8815cad63af49f7e1047d50813775ce4
BLAKE2b-256 8186a1e55b5331fd41a8973ad522053e929f96ea99db7b6e86f56eb5b5dc33ff

See more details on using hashes here.

Supported by

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