Skip to main content

A fast, native non-uniform FFT op for TensorFlow.

Project description

TensorFlow NUFFT

PyPI Build Docs DOI

TensorFlow NUFFT is a fast, native non-uniform fast Fourier transform op for TensorFlow. It provides:

  • Fast CPU/GPU kernels. The TensorFlow framework automatically handles device placement as usual.
  • A simple, well-documented Python interface.
  • Gradient definitions for automatic differentiation.
  • Shape functions to support static shape inference.

The underlying algorithm is based on the NUFFT implementation by the Flatiron Institute. Please refer to FINUFFT and cuFINUFFT for more details.

Installation

You can install TensorFlow NUFFT with pip:

pip install tensorflow-nufft

Note that only Linux wheels are currently being provided.

TensorFlow compatibility

Each TensorFlow NUFFT release is compiled against a specific version of TensorFlow. To ensure compatibility, it is recommended to install matching versions of TensorFlow and TensorFlow NUFFT according to the table below.

TensorFlow NUFFT Version TensorFlow Compatibility Release Date
v0.12.0 v2.11.x Nov 27, 2022
v0.11.0 v2.10.x Oct 12, 2022
v0.10.1 v2.10.x Sep 26, 2022
v0.10.0 v2.10.x Sep 7, 2022
v0.9.0 v2.9.x Sep 5, 2022
v0.8.1 v2.9.x Jun 23, 2022
v0.8.0 v2.9.x May 20, 2022
v0.7.3 v2.8.x May 4, 2022
v0.7.2 v2.8.x Apr 29, 2022
v0.7.1 v2.8.x Apr 6, 2022
v0.7.0 v2.8.x Feb 8, 2022
v0.6.0 v2.7.x Jan 27, 2022
v0.5.0 v2.7.x Dec 12, 2021
v0.4.0 v2.7.x Nov 8, 2021
v0.3.2 v2.6.x Aug 18, 2021
v0.3.1 v2.6.x Aug 18, 2021
v0.3.0 v2.6.x Aug 13, 2021

Usage

Once installed, you can perform NUFFTs in your TensorFlow code simply as:

import tensorflow_nufft as tfft

outputs = tfft.nufft(inputs, points)

See the documentation for the tfft.nufft function to learn more about the different parameters.

Documentation

Visit the docs for the API reference and examples of usage.

Issues

If you use this package and something does not work as you expected, please file an issue describing your problem. We're here to help!

Credits

If you find this software useful in your research, please cite us.

Contributors

See CONTRIBUTORS for a list of people who have contributed to this project. Thank you!

All contributions are welcome. If there is an issue you would like to address or a feature you would like to add, you might want to begin by commenting on the corresponding issue (or if it doesn't exist yet, by creating a new issue).

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

tensorflow_nufft-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tensorflow_nufft-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tensorflow_nufft-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tensorflow_nufft-0.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file tensorflow_nufft-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_nufft-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1e344e5224798ed4592174721a450a1eab35242ba240b15a78999f3182ab60e
MD5 a0e8bf82ae7ce72a6d84c33a804bb9f0
BLAKE2b-256 e12a6926aef4f4319aa98207e7298c68653be94779c2d0c06dc17e48d7130b46

See more details on using hashes here.

File details

Details for the file tensorflow_nufft-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_nufft-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e90fbf0f9061e9dbc1077e18d6ee7d9637b6f53c4dda859a006969a261ef084a
MD5 7d96f1ad2c3946c0a588b67165ce8106
BLAKE2b-256 f39910630820edfe0aded6567b76ddef74b5052da34bc45cb49a415a83ad340f

See more details on using hashes here.

File details

Details for the file tensorflow_nufft-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_nufft-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25fa0e36b9cfa89088956d9567cb5ced086cc6c10939aed16221d4e478a0c5bf
MD5 0ad2ee2de55adef62f91fa17bad9255f
BLAKE2b-256 2d161c067011f161aeb95460a826ce54c4de04fc5dab00a2f6bcab565a0139fd

See more details on using hashes here.

File details

Details for the file tensorflow_nufft-0.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_nufft-0.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eed6e562cf5cc92902fe00e297635aa9c801482e2bd06b0050503aa8f9579d59
MD5 7cd217a506e8ce9def2fae4a8f18cbae
BLAKE2b-256 0939b27052230adbd6719b943ed7a72c7b7944df68095001fa7584e55d94610d

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