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.3.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

tfkbnufft-0.2.3-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tfkbnufft-0.2.3.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for tfkbnufft-0.2.3.tar.gz
Algorithm Hash digest
SHA256 83c9442a754e86d51df53b1b24d037d0c7e9c624179cb56bb86546c15a90ed63
MD5 6ff3fb08796c12f2a3466e01b004b905
BLAKE2b-256 883a88dce76fb13d626dd536e6ff2a045ce68f2ba5d792f2bef5b2f38a3da193

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tfkbnufft-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.5.0.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for tfkbnufft-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4a0b8e1097a64b63460dcca2484a9cbcc4cb57dfebc13dce6253b29e8e2ee1c8
MD5 b30f887ef334abeae3942675ecf6f0e6
BLAKE2b-256 002351e9ea78cb2cc8340105c9f785f4417fd2ef2f875d7f6ad06b4e852cf8c7

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