SENSE: sensitivity-encoding MRI Matlab tools

 
  These Matlab routines include demonstration and individual Matlab functions to simulate and reconstruction SENSE imaging.
   
Codes  
  Inside Martinos Center:
  If you are inside Martinos Center in MGH, you can add the following path to your starup.m file to access all the routines.
 

addpath('~fhlin/matlab/toolbox/fhlin_toolbox');

   
  If you are outside Martinos Center in MGH, please download the codes to your local computer.
pmri_gfactor.m calculate the g-factor map
pmri_reg.m estimate the regularization parameter in SENSE reconstruction.
pmri_prep.m preparation for 1D SENSE reconstruction
pmri_core.m implement 1D SENSE reconstruction

pmri_core_cg.m

implement 1D/2D SENSE reconstruction using conjugated graident method
pmri_poly_sensitivity.m estimate coil sensitivy profile using polynomial fitting
pmri_sample_vector.m create sampling vector in 1D SENSE data acquisition
pmri_grappa_prep.m preparation for 1D GRAPPA reconstruction
pmri_grappa_core.m implement 1D GRAPPA reconstruction
pmri_alias_matrix.m create Fourier aliasing matrix based on a k-space sampling pattern.
 
Examples  
1D GRAPPA reconstruction :
Date: Mar-22-2005

Purpose:

1D GRAPPA imaging reconstruction example

Description::

1D GRAPPA reconstruction from an 8-channel head array coil using least-square matrix inversion. The data were simulated from the combination of B1 fields by Biot-Savart's law and anatomical features from MPRAGE sequences.

This example simulated 3-fold acceleration in A/P phase-encoding direction. 4 auto-calibration scan (ACS) lines are used to estimate the GRAPPA reconstruction coefficient using 4-by-3 block, which means 4 (+/-2) phase encoding data and 3 (-1, 0, +1) frequency encoding data were used to fit ACS lines.

Code:

code: grappa_8ch_example.m

data: sim_8ch_data.mat

 
1D SENSE reconstruction :
Date: Mar-14-2005

Purpose:

1D SENSE imaging reconstruction example

Description::

1D SENSE reconstruction from an 8-channel head array coil using least-square matrix inversion. The data were simulated from the combination of B1 fields by Biot-Savart's law and anatomical features from MPRAGE sequences.

Both SENSE reconstructed image as well as the g-factor maps are calculated.

Code:

code: sense_8ch_example.m

data: sim_8ch_data.mat

2X aliased images from 8 channels (left); the full-FOV SENSE reconstructed image (middle); the magnitude of coil sensitiivty profiles estimated from the 8-channel array (right)

 
2D SENSE reconstruction using conjugated gradient:
Date: Mar-14-2005

Purpose:

2D SENSE imaging reconstruction example

Description::

2D SENSE reconstruction (2X in L-R and 2X in A-P) from an 8-channel head array coil conjugated gradient iterative solver. The data were from MPRAGE sequences on a 3T scanner.

Code:

code: sense2_8ch_cg.m

data: mprage_8ch_slice1.mat

The aliased image from 8 channels (left); the k-space sampling points (right)

   

The combined aliased image from all channels (2X in L-R and 2X in A-P) (left); the SENSE reconstructed image using conjugated graident method after 10 iterations (right).

   
Simple SENSE reconstruction :
Date: Jan-20-2005

Purpose:

Simple demonstration of SENSE imaging reconstruction.

Original author: Dr. Nan-Kuei Chen
Description:: The data was acquired from 4-channel array coil using EPI sequence (2-shot, matrix: 64X64, TE: 50 ms) at a 1.5T scanner. The code estimates the coil sensitivity profiles directly from the image with anatomical contrast by low-pass smoothing. Subsequently, k-space data were decimated to simulate 2.0-fold acceleration (R=2.0). Finally, using least-squares estimate, the reconstructed full-FOV spin density image is obtained.
Code:

code: sense_recon_easy.m

data: sense_recon_easy.mat

Example:

sense_recon_easy;

 
SENSE aliasing matrix:
Date: Jan-20-2005

Purpose:

Generate the aliasing matrix to relate full-FOV image and accelerated image.

Description::

Using specfied sampling vector to generate a 2D aliasing matrix. The sampling vector is a vector of n-entries of either 0 or 1, where 0 indicates no k-space line acquisition and 1 indicates k-space line is acquired in the accelerated scan. For example, a sampling vector of [0 1 0 1 0 1 0 1 0 1] indicate the 2-fold acceleration with 8 phase encoding lines. The aliasing matrix is calculated based on Fourier imaging.

*Note* The center of k-space is at the center of the sampling vector, similar to traditional k-space MRI convention, but different from Matlab defaults.

Code:

Matlab code: sense_alias_matrix.m

Example:

s=zeros(1,64); %simulate 64 phase-encoding lines
s(1:2:end)=1; %only every other line is acquired in accelerated scan; R = 2.
A=sense_alias_matrix(s,[],'auto_k'); %this is the aliasing matrix

 
SENSE g-factor calculation:
Date: Jan-21-2005

Purpose:

Calculate the g-factor maps of the SENSE acceleration

Description::

G-factor is the metric to quantify the amplificaiton of noise power in reconstructing SENSE accelerated image. The detail was presented in Pruessmann's 1999 Magn. Reson. Med. paper. In theory, g-factor is the pixel-by-pixel ratio of the image variance between the SENSE reconstructed image and un-accelerated image. And g-factor depends on: (1) the k-space data trajectory (2) coil sensitivit profiles (3) noise covariance matrix of the array coil.

Code:

Matlab code: sense_gfactor.m

Example: This example file (calc_gfactor_8ch.m) demonstrates how to use sense_gfactor.m to calculate g-factor maps for 8-channel head array data at acceleration rate (R) of 2.0, 3.0, and 4.0.

G-factor maps calculated from 8-channel array with imaging mask to illustrate the spatial distribution of g-factors within a spherical saline phantom.
 
Data  
epi_8ch_time1.mat (0.5 MB) 3T (SIEMENS Trio) saline phantom EPI data from 8-channel head array coil. Imaging parameters: TE = 40 ms, TR = 1000 ms, slice = 1, matrix = 64 x 64, slice thickness = 5 mm, FOV = 200 mm, measurement = 1).
epi_8ch_time100.mat (5.2 MB) 3T (SIEMENS Trio) saline phantom EPI data from 8-channel head array coil. Imaging parameters: TE = 40 ms, TR = 1000 ms, slice = 1, matrix = 64 x 64, slice thickness = 5 mm, FOV = 200 mm, measurement = 100).
mprage_8ch_slice1.mat (8.4 MB) 3T (SIEMENS Trio) human MPRAGE (3D Flash with IR prep.) data from 8-channel head array coil. Imaging parameters: TE = 3.45 ms, TR = 2530 ms, TI = 1100 ms, Flip angle = 7 deg., slice = 1, matrix = 256 x 256, slice thickness = 1. 33 mm, FOV = 256 mm, measurement = 1).
mprage_8ch_slice20.mat (167.8 MB) 3T (SIEMENS Trio) human MPRAGE (3D Flash with IR prep.) data from 8-channel head array coil. Imaging parameters: TE = 3.45 ms, TR = 2530 ms, TI = 1100 ms, Flip angle = 7 deg., slice = 20, matrix = 256 x 256, slice thickness = 1. 33 mm, FOV = 256 mm, measurement = 1).
sim_8ch_data.mat (4,2 MB) Simulated B1 coil maps and anatomical feature from a 3T (SIEMENS Trio) human using an 8-channel head array coil. The B1 coil maps were calculated using Biot-Savart's law. The imaging sequence was MPRAGE (3D Flash with IR prep.) Imaging parameters: TE = 3.45 ms, TR = 2530 ms, TI = 1100 ms, Flip angle = 7 deg., slice = 20, matrix = 256 x 256, slice thickness = 1. 33 mm, FOV = 256 mm, measurement = 1).