A collection of TensorFlow add-ons for computational MRI.
Project description
TensorFlow MRI is a library of TensorFlow operators for computational MRI which includes:
A fast, native non-uniform fast Fourier transform (NUFFT) operator (see also TensorFlow NUFFT).
MR image reconstruction functions, which support parallel imaging, compressed sensing, machine learning and partial Fourier methods.
Common linear and nonlinear operators, such as Fourier operators and regularizers, to aid in the development of image reconstruction techniques.
Multicoil imaging operators, such as coil combination, coil compression and estimation of coil sensitivity maps.
Calculation of non-Cartesian k-space trajectories and sampling density estimation.
A collection of Keras objects including models, layers, metrics, loss functions and callbacks for rapid development of neural networks.
Many other differentiable operators for common tasks such as array manipulation and image/signal processing.
The library has a Python interface and is mostly written in Python. However, computations are efficiently performed by the TensorFlow backend (implemented in C++/CUDA), which brings together the ease of use and fast prototyping of Python with the speed and efficiency of optimized lower-level implementations.
Being an extension of TensorFlow, TensorFlow MRI integrates seamlessly in ML applications. No additional interfacing is needed to include a SENSE operator within a neural network, or to use a trained prior as part of an iterative reconstruction. Therefore, the gap between ML and non-ML components of image processing pipelines is eliminated.
Whether an application involves ML or not, TensorFlow MRI operators can take full advantage of the TensorFlow framework, with capabilities including automatic differentiation, multi-device support (CPUs and GPUs), automatic device placement and copying of tensor data, and conversion to fast, serializable graphs.
Installation
You can install TensorFlow MRI with pip:
$ pip install tensorflow-mri
Note that only Linux is currently supported.
TensorFlow Compatibility
Each TensorFlow MRI release is compiled against a specific version of TensorFlow. To ensure compatibility, it is recommended to install matching versions of TensorFlow and TensorFlow MRI according to the table below.
TensorFlow MRI Version |
TensorFlow Compatibility |
Release Date |
---|---|---|
v0.16.0 |
v2.8.x |
Apr 13, 2022 |
v0.15.0 |
v2.8.x |
Apr 1, 2022 |
v0.14.0 |
v2.8.x |
Mar 29, 2022 |
v0.13.0 |
v2.8.x |
Mar 15, 2022 |
v0.12.0 |
v2.8.x |
Mar 14, 2022 |
v0.11.0 |
v2.8.x |
Mar 10, 2022 |
v0.10.0 |
v2.8.x |
Mar 3, 2022 |
v0.9.0 |
v2.7.x |
Dec 3, 2021 |
v0.8.0 |
v2.7.x |
Nov 11, 2021 |
v0.7.0 |
v2.6.x |
Nov 3, 2021 |
v0.6.2 |
v2.6.x |
Oct 13, 2021 |
v0.6.1 |
v2.6.x |
Sep 30, 2021 |
v0.6.0 |
v2.6.x |
Sep 28, 2021 |
v0.5.0 |
v2.6.x |
Aug 29, 2021 |
v0.4.0 |
v2.6.x |
Aug 18, 2021 |
Documentation
Visit the docs for the API reference and examples of usage.
Contributions
If you use this package and something does not work as you expected, please file an issue describing your problem. We will do our best to help.
Contributions are very welcome. Please create a pull request if you would like to make a contribution.
Citation
If you find this software useful in your work, please cite us.
FAQ
When trying to install TensorFlow MRI, I get an error about OpenEXR which includes: ``OpenEXR.cpp:36:10: fatal error: ImathBox.h: No such file or directory``. What do I do?
OpenEXR is needed by TensorFlow Graphics, which is a dependency of TensorFlow MRI. This issue can be fixed by installing the OpenEXR library. On Debian/Ubuntu:
$ apt install libopenexr-dev
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for tensorflow_mri-0.16.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53fe55bd50f321021cad0e127f9f0f7aa5ddc0dbad2e00ba25b1f375fb4c85d2 |
|
MD5 | 3434665d0517b2df223e8bcf5b5f703b |
|
BLAKE2b-256 | 057641f91299bb1c94ffe847ba87c923ad47df85650735052747727841021e5c |
Hashes for tensorflow_mri-0.16.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90c1af2a54dcf811a6530049951b0b1f03ce6a5de43afbc30aecb76e915385ad |
|
MD5 | fa03611af3588bd1462b074a0c3f8536 |
|
BLAKE2b-256 | c270c91e527a37fcfefaece7aecc2e1c58cf288dd9351cad276213e5d51cef6c |
Hashes for tensorflow_mri-0.16.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc13b4c6df6b9a4826563212556a7c34b9621159912006884a6167d4a3ddc074 |
|
MD5 | d44104f247396383becb734dd77dcbd0 |
|
BLAKE2b-256 | db44f4b15c3f6b9069c5548e3f2bec638dd05d28969c9d82290226c72dcc46e0 |
Hashes for tensorflow_mri-0.16.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b6530482eecea5035dae79624fb588f3e07f765d1230e7a6d352b9e6902fcda |
|
MD5 | 080daeee3ed32ea971311b1696cc0fbf |
|
BLAKE2b-256 | b29f00b380f00e0b2fc32da3e8508f8cfda88baa9bd91e1d63f274f22782d7a8 |