Software

ESPIRiT: Programming Library and Software Toolbox for Compressed Sensing and Parallel Imaging

There are two parts for this library: An efficient, high performance implementation in C, C++, CUDA and the other is a Matlab library. The former aims to serve those who are interested in efficient implementations and the latter is aimed more for education and a reference to the relevant publications. Currently the C/C library and the Matlab code do not have the exact same implementations and conventions. We are working to correct this. Therefore they are distributed seperately.

The Matlab code is a reference to the following papers:

  1. M. Lustig and J. Pauly SPIRiT: Iterative Self-Consistent Parallel Imaging Reconstruction from Arbitrary k-Space Sampling MRM 2010;64(2):457-71

  2. Zhang T, Pauly JM, Vasanawala SS, Lustig M. Coil Compression for Accelerated Imaging with Cartesian Sampling MRM 2013;69(2):571-82]

  3. 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, MRM 2013 published on-line

  4. P. Shin, P.E.Z. Larson, M. A. Ohliger, M.Elad, J. M. Pauly, D. B. Vigneron and M. Lustig, Calibrationless Parallel Imaging Reconstruction Based on Structured Low-Rank Matrix Completion, 2013, accepted to Magn Reson Med.

C/C++/CUDA Library:

Matlab Library: - Includes implementations of SPIRiT, ESPIRiT, Coil Compression, SAKE low-rank calibrationless Parallel Imaging and poisson-disc sampling.

Sparse MRI

SparseMRI 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. And in the high-level, non-expert overview M. Lustig, D.L Donoho, J.M Santos and J.M Pauly “Compressed Sensing MRI”, IEEE Signal Processing Magazine, 2008; 25(2): 72-82

Divergence-Free Wavelet Denoising

The following code contains an implementation of divergence-free wavelet, a vector-wavelet that provides a sparse representation of MR flow data. Divergence-free wavelet can be used to enforce “soft” divergence-free conditions when discretization and partial voluming result in numerical non-divergence-free components. Efficient 4D flow denoising is achieved by appropriate shrinkage of divergence-free and non-divergence-free wavelet coefficients.

The package was developed by Frank Ong and accompanies the paper: Frank Ong, Martin Uecker, Umar Tariq, Albert Hsiao, Marcus T Alley, Shreyas S. Vasanawala and Michael Lustig , Robust 4D flow denoising using divergence-free wavelet transform, Magnetic Resonance in Medicine, 2014 Published on-line DOI: 10.1002/mrm.25176

Time Optimal Gradient Design

An implementation of the algorithms and examples described in the paper M. Lustig S-J Kim and J.M Pauly, “A Fast Method for Designing Time- Optimal Gradient Waveforms for Arbitrary k-Space Trajectories”, Transactions on Medical Imag- ing, 2008; 27(6): 866-873

The following is an improved method based on: S. Vaziri and M. Lustig “The Fastest Gradient Waveforms” which was accepeted for presentation at the annual Meeting of the ISMRM, 2012.
It is a much faster and improved software package (Matlab, Mex, C) that was developed and implemented by Sana Vaziri. This version includes a rotation variant solution that exploit the fact that each gradient coil is independet. This can make the scan as much as 10% more efficient.

The project was funded by the SRC Program and by an undergraduate research grant from Intel.

Nonrigid Motion Correction in 3D using Autofocussing and Buttefly Navigators

Patient motion is a serious problem in MRI, and in particular when imaging pediatric patients. Butterfly navigators are modifications to the regular 2D/3DFT pulse sequence and allow collection of navigation information during the prewinder stage of the readout. In this work we use the navigators along with multi-channel array and autofocussing image criteria to correct for non-rigid motion in body MRI of pediatric patients.

The following code was developed by Joseph Cheng and accompanies the paper: Cheng JY, Alley MT, Cunningham CH, Vasanawala SS, Pauly JM, Lustig M. “Nonrigid Motion Correction in 3D Using Autofocusing with Localized Linear Translations,” Magnetic Resonance in Medicine 2012.


Movie: Motion captured with Butterfly is used to recreate a true breathing motion in a pediatric patient during a scan.

  • Autofocuss Buttefly Motion Correction Download

Coil Compression for Accelerated Imaging with Cartesian Sampling

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 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 protoype developed by Tao Zhang. It is the implementation of the Technique described in Zhang T, Pauly JM, Vasanawala SS, Lustig M. “Coil Compression for Accelerated Imaging with Cartesian Sampling,” MRM 2013;69(2):571-82.