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.


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 function, and Shepp-Logan phantom generation function.


ESPIRiT

ESPIRiT is a method to estimate coil sensitivities which finds the subspace of multi-coil data from a calibration region in k-space using a series of eigen-value decompositions in k-space and image space. The code below references the following paper: M. Uecker, P. Lai, M. J. Murphy, P. Virtue, M. Elad, J. M. Pauly, S. S. Vasanawala and M. Lustig, ESPIRiT – An Eigenvalue Approach to Autocalibrating Parallel MRI: Where SENSE meets GRAPPA

Here are some viewable MATLAB demos:

Download link for the MATLAB code package. This code includes MATLAB implementations of ESPIRiT, SPIRiT, Geometric coil compression, and SAKE.


Sparse MRI

Sparse MRI is a collection of Matlab functions that implement the algorithms and examples described in the paper M. Lustig, D.L Donoho and J.M Pauly “Sparse MRI: The Application of Compressed Sensing for Rapid MR Imaging” Magnetic Resonance in Medicine, 2007 Dec; 58(6):1182-1195. The high-level, non-expert overview is in the paper M. Lustig, D.L Donoho, J.M Santos and J.M Pauly “Compressed Sensing MRI”, IEEE Signal Processing Magazine, 2008; 25(2): 72-82

Download link for MATLAB code

Geometric-Decomposition Coil Compression (GCC)

Coil arrays are used to accelerate the acquisition of MRI by exploiting the spatial sensitivity of the coils for spatial encoding. The increasing number of channels in systems today provides better acceleration, but at the same time results in significant increase in computation time. This in particularly a problem in iterative reconstructions. In this work (GCC), we exploit redundancy between the channels and the fact that the readout dimension in Cartesian imaging is never subsampled to compress the coils data into much fewer virtual coils. The software provided here is a Matlab implementation of this technique, which is described in Zhang T, Pauly JM, Vasanawala SS, Lustig M. “Coil Compression for Accelerated Imaging with Cartesian Sampling,” MRM 2013;69(2):571-82.

Here are some viewable MATLAB demos:

Download link for MATLAB code

Github Repositories

Here are Github repositories of research from our lab.


Data

mridata.org provides open datasets to researchers who desire to contribute to a community of reproducible research, where they can test and validate their algorithms against known undersampled acquisitions. These datasets were acquired through a collaboration with Dr. Shreyas Vasanawala at Stanford’s Lucile Packard Children’s Hospital. The undersampled datasets are of two varieties: variable-density undersampling and uniform-density undersampling. At present, all of the datasets are of knee images. In addition to undersampled datasets, we also provide separate cases of fully sampled knees, for researchers who wish to experiment with their own undersampling patterns.