Skip to main content

A collection of TensorFlow add-ons for computational MRI.

Project description

.. image:: https://raw.githubusercontent.com/mrphys/tensorflow-mri/v0.6.0/tools/assets/tfmr_logo.svg?sanitize=true
:align: center
:scale: 100 %
:alt: TFMRI logo

|

|pypi| |build| |docs| |doi|

.. |pypi| image:: https://badge.fury.io/py/tensorflow-mri.svg
:target: https://badge.fury.io/py/tensorflow-mri
.. |build| image:: https://github.com/mrphys/tensorflow-mri/actions/workflows/build-package.yml/badge.svg
:target: https://github.com/mrphys/tensorflow-mri/actions/workflows/build-package.yml
.. |docs| image:: https://img.shields.io/badge/api-reference-blue.svg
:target: https://mrphys.github.io/tensorflow-mri/
.. |doi| image:: https://zenodo.org/badge/388094708.svg
:target: https://zenodo.org/badge/latestdoi/388094708

.. start-intro

TensorFlow MRI is a library of TensorFlow operators for computational MRI.
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.

TensorFlow MRI contains operators for:

* Multicoil arrays
(`tfmri.coils <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/coils>`_):
coil combination, coil compression and estimation of coil sensitivity
maps.
* Convex optimization
(`tfmri.convex <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/convex>`_):
convex functions (quadratic, L1, L2, Tikhonov, total variation, etc.) and
optimizers (ADMM).
* Keras initializers
(`tfmri.initializers <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/initializers>`_):
neural network initializers, including support for complex-valued weights.
* I/O (`tfmri.io <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/io>`_):
additional I/O functions potentially useful when working with MRI data.
* Keras layers
(`tfmri.layers <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/layers>`_):
layers and building blocks for neural networks, including support for
complex-valued weights, inputs and outputs.
* Linear algebra
(`tfmri.linalg <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/linalg>`_):
linear operators specialized for image processing and MRI.
* Loss functions
(`tfmri.losses <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/losses>`_):
for classification, segmentation and image restoration.
* Metrics
(`tfmri.metrics <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/metrics>`_):
for classification, segmentation and image restoration.
* Image processing
(`tfmri.image <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/image>`_):
filtering, gradients, phantoms, image quality assessment, etc.
* Image reconstruction
(`tfmri.recon <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/recon>`_):
Cartesian/non-Cartesian, 2D/3D, parallel imaging, compressed sensing.
* *k*-space sampling
(`tfmri.sampling <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/sampling>`_):
Cartesian masks, non-Cartesian trajectories, sampling density compensation,
etc.
* Signal processing
(`tfmri.signal <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/signal>`_):
N-dimensional fast Fourier transform (FFT), non-uniform FFT (NUFFT)
(see also `TensorFlow NUFFT <https://github.com/mrphys/tensorflow-nufft>`_),
discrete wavelet transform (DWT), *k*-space filtering, etc.
* Unconstrained optimization
(`tfmri.optimize <https://mrphys.github.io/tensorflow-mri/api_docs/tfmri/optimize>`_):
gradient descent, L-BFGS.
* And more, e.g., supporting array manipulation and math tasks.

.. end-intro

Installation
------------

.. start-install

You can install TensorFlow MRI with ``pip``:

.. code-block:: console

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

.. start-compatibility-table

====================== ======================== ============
TensorFlow MRI Version TensorFlow Compatibility Release Date
====================== ======================== ============
v0.22.0 v2.10.x Sep 26, 2022
v0.21.0 v2.9.x Jul 24, 2022
v0.20.0 v2.9.x Jun 18, 2022
v0.19.0 v2.9.x Jun 1, 2022
v0.18.0 v2.8.x May 6, 2022
v0.17.0 v2.8.x Apr 22, 2022
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
====================== ======================== ============

.. end-compatibility-table

.. end-install

Documentation
-------------

Visit the `docs <https://mrphys.github.io/tensorflow-mri/>`_ for guides,
tutorials and the API reference.

Issues
------

If you use this package and something does not work as you expected, please
`file an issue <https://github.com/mrphys/tensorflow-mri/issues/new>`_
describing your problem. We're here to help!

Credits
-------

If you like this software, star the repository! |stars|

.. |stars| image:: https://img.shields.io/github/stars/mrphys/tensorflow-mri?style=social
:target: https://github.com/mrphys/tensorflow-mri/stargazers

If you find this software useful in your research, you can cite TensorFlow MRI
using its `Zenodo record <https://doi.org/10.5281/zenodo.5151590>`_.

In the above link, scroll down to the "Export" section and select your favorite
export format to get an up-to-date citation.

Contributions
-------------

Contributions of any kind are welcome! Open an issue or pull request to begin.

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_mri-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (265.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

tensorflow_mri-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (265.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

tensorflow_mri-0.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (265.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

tensorflow_mri-0.22.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (265.3 kB view details)

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

File details

Details for the file tensorflow_mri-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_mri-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63b4c023b8f8c13ef2fe46295b09dbb088bbe1a95499c4049cfddea4ca95c260
MD5 6886e27267bd97543fa470b8c21c776c
BLAKE2b-256 a475fc496c34f6f4b6c3cc8743a0a0721e102b1383115ecf6850100dc30f930e

See more details on using hashes here.

File details

Details for the file tensorflow_mri-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_mri-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ac877eb9d061c5ac9763daa10b15d7a0d3f733662e7287100200c5674e59c78b
MD5 7723ecfb881d57abd59d695204aa7cf7
BLAKE2b-256 12b9498bbb9ef281ed30ff76467419b8f97973b02a88e2fcd4f4a807780a4fa6

See more details on using hashes here.

File details

Details for the file tensorflow_mri-0.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_mri-0.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 347be36ce61a8cc2b36a9646f30ca63119cceb65f4252bdc08a3685679d26793
MD5 4552049f89c47a48ce5ba1b2093cd81a
BLAKE2b-256 e23356f296dc46f7cc893573239d38d13d5e6bc54154116e7d1facf1305d49a8

See more details on using hashes here.

File details

Details for the file tensorflow_mri-0.22.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tensorflow_mri-0.22.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d89a60f7ceffc0d092456f93ae37755b22bb707f3a8fd1595bb48aaa2b5c4d3c
MD5 e76ea45ea3afeb2553957726c92712e9
BLAKE2b-256 5138b6b83ddcbdd9a92b96f44896d0153e07be73e5103996f94c81e05bc61bad

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