TensorFlow MRI 0.20.0#

View on GitHub

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): coil combination, coil compression and estimation of coil sensitivity maps.

  • Convex optimization (tfmri.convex): convex functions (quadratic, L1, L2, Tikhonov, total variation, etc.) and optimizers (ADMM).

  • Keras initializers (tfmri.initializers): neural network initializers, including support for complex-valued weights.

  • I/O (tfmri.io): additional I/O functions potentially useful when working with MRI data.

  • Keras layers (tfmri.layers): layers and building blocks for neural networks, including support for complex-valued weights, inputs and outputs.

  • Linear algebra (tfmri.linalg): linear operators specialized for image processing and MRI.

  • Loss functions (tfmri.losses): for classification, segmentation and image restoration.

  • Metrics (tfmri.metrics): for classification, segmentation and image restoration.

  • Image processing (tfmri.image): filtering, gradients, phantoms, image quality assessment, etc.

  • Image reconstruction (tfmri.recon): Cartesian/non-Cartesian, 2D/3D, parallel imaging, compressed sensing.

  • k-space sampling (tfmri.sampling): Cartesian masks, non-Cartesian trajectories, sampling density compensation, etc.

  • Signal processing (tfmri.signal): N-dimensional fast Fourier transform (FFT), non-uniform FFT (NUFFT) (see also TensorFlow NUFFT), discrete wavelet transform (DWT), k-space filtering, etc.

  • Unconstrained optimization (tfmri.optimize): gradient descent, L-BFGS.

  • And more, e.g., supporting array manipulation and math tasks.