Home

Awesome

TensorFlow NUFFT

PyPI Build Docs DOI

<!-- start-intro -->

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

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

<!-- end-intro --> <!-- start-install -->

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 VersionTensorFlow CompatibilityRelease Date
v0.12.0v2.11.xNov 27, 2022
v0.11.0v2.10.xOct 12, 2022
v0.10.1v2.10.xSep 26, 2022
v0.10.0v2.10.xSep 7, 2022
v0.9.0v2.9.xSep 5, 2022
v0.8.1v2.9.xJun 23, 2022
v0.8.0v2.9.xMay 20, 2022
v0.7.3v2.8.xMay 4, 2022
v0.7.2v2.8.xApr 29, 2022
v0.7.1v2.8.xApr 6, 2022
v0.7.0v2.8.xFeb 8, 2022
v0.6.0v2.7.xJan 27, 2022
v0.5.0v2.7.xDec 12, 2021
v0.4.0v2.7.xNov 8, 2021
v0.3.2v2.6.xAug 18, 2021
v0.3.1v2.6.xAug 18, 2021
v0.3.0v2.6.xAug 13, 2021
<!-- end-install --> <!-- start-usage -->

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.

<!-- end-usage -->

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).