Software
BART
The Berkeley Advanced Reconstruction Toolbox (BART) is a free and open-source image-reconstruction framework for Magnetic Resonance Imaging (MRI). It consists of a programming library and a toolbox of command-line programs. The library provides common operations on multi-dimensional arrays, Fourier and wavelet transforms, as well as generic implementations of iterative optimization algorithms. The command-line tools provide direct access to basic operations on multi-dimensional arrays as well as efficient implementations of many calibration and reconstruction algorithms for parallel imaging and compressed sensing.
BART: Toolbox for Computational Magnetic Resonance Imaging
Material for BART demos.
SigPy
SigPy is a package for signal processing, with emphasis on iterative methods. This package is built to operate directly on numpy arrays on CPU and cupy arrays on GPU. Its main features include: a unified CPU/GPU interface to signal processing functions, Linear operator classes, Proximal operator classes (Prox), Iterative algorithm classes (Alg), and Application classes (App) that wrap Alg, Linop, and Prox to form a final deliverable for each application.
SigPy also provides a submodule sigpy.mri
for MRI iterative reconstruction methods. It includes Apps for common MRI reconstruction methods such as SENSE reconstruction, l1-wavelet reconstruction, total-variation reconstruction, and JSENSE reconstruction. This module also includes convenient simulation and sampling functions, including poisson-disc sampling and Shepp–Logan phantom generation.
SigPy is a package for signal processing, with emphasis on iterative methods.
SigPy MRI tutorial materials and examples.
ESPIRiT
ESPIRiT estimates coil sensitivities by finding the subspace of multi-coil data from a calibration region in k-space using a series of eigenvalue decompositions in k-space and image space. References: Uecker et al., “ESPIRiT – An Eigenvalue Approach to Autocalibrating Parallel MRI: Where SENSE meets GRAPPA.”
Demos:
ESPIRiT MATLAB examples and implementations.
ESPIRiT Python implementation and examples.
Sparse MRI
A collection of MATLAB functions implementing the algorithms and examples described in Lustig, Donoho, and Pauly, “Sparse MRI: The Application of Compressed Sensing for Rapid MR Imaging,” MRM 2007, and the overview in Lustig et al., “Compressed Sensing MRI,” IEEE Signal Processing Magazine, 2008.
Download link for MATLAB codeGeometric-Decomposition Coil Compression (GCC)
Coil arrays enable acceleration by exploiting spatial sensitivity for encoding. The increasing number of channels can increase computation time, especially for iterative reconstructions. GCC exploits redundancy between channels and the fact that the readout dimension in Cartesian imaging is never subsampled to compress the coils into fewer virtual coils. Described in Zhang et al., “Coil Compression for Accelerated Imaging with Cartesian Sampling,” MRM 2013.
Demos:
Download link for MATLAB codeGithub Repositories
Selected repositories from our group:- mikgroup/extreme_mri
- mikgroup/kspace_precond
- mikgroup/bpt_paper
- mikgroup/bpt_mrpub
- mikgroup/UFLoss
- mikgroup/ResoNet
- mikgroup/Caterpillar-Traps
- mikgroup/DiSpectMRI
- mikgroup/phase_cycling
- mikgroup/MEL_MRI
- mikgroup/DCSNet
- mikgroup/auto-espirit
- mikgroup/data_crimes
Data
mridata.org provides open datasets to support reproducible research and validation of algorithms on known undersampled acquisitions. Datasets include variable- and uniform-density undersampled knee images, as well as fully sampled cases for custom undersampling experiments.