Difference between revisions of "SMS spoke design with SAR constraints"

From MGH/MIT Parallel Transmission Resources
Jump to navigation Jump to search
 
Line 3: Line 3:
 
 
 
=== What this code does ===
 
=== What this code does ===
This Matlab code (no MEX, no GPU code) computes least-squares and magnitude least-squares pTx spoke pulses. The MLS problem can be solved using the phase adoption approach of Setsompop et al. or a full optimization strategy (see the file spokes_3/run_spokes.m and options therein). Spokes can be optimized for several frequencies (spatio-spectral design) in order to build in robustness to off-resonance effects.
+
This Matlab code (no MEX, no GPU code) computes least-squares and magnitude least-squares pTx spoke SMS pulses with SAR constraints. The MLS problem can be solved using the phase adoption approach of Setsompop et al. or a full optimization strategy.  
  
 
=== Download files ===
 
=== Download files ===
The code can be downloaded [https://ptx.martinos.org/images/c/cf/SpokesMinExcErrLocGlobSARPuPow_sms_v10.zip here]. A test dataset can be downloaded [https://ptx.martinos.org/images/e/e2/Spokes_3.zip here]. If you wonder how I obtained the field maps, ROI and SODA (=slice information) files, download [https://ptx.martinos.org/images/c/c0/Prescan_data.zip this file].
+
The code can be downloaded [https://ptx.martinos.org/images/c/cf/SpokesMinExcErrLocGlobSARPuPow_sms_v10.zip here]. An example of how to run the SMS design can be downloaded [https://ptx.martinos.org/images/4/4c/Spokes_sms_1.zip here] and its accompanying dataset can be downloaded [https://ptx.martinos.org/images/8/8e/Prescan_sms2.zip here].
  
 
=== Instructions ===
 
=== Instructions ===
 
==== Pre-scan data format ====
 
==== Pre-scan data format ====
The format of the pre-scan data (e.g., B0 map, B1+ maps, slice information in the SODA file) matches the Siemens pTx "Step 2" data format. To take a closer look at this, download the prescan_data.zip file,  
+
The format of the pre-scan data (e.g., B0 map, B1+ maps, slice information in the SODA file) matches the Siemens pTx "Step 2" data format. To take a closer look at this, download the prescan_sms2.zip file. The ROI, B0 and B1+ maps need to have Z images, where Z is the number of SMS slices to be excited simultaneously. To get the ROI and B0 maps, I use the Siemens product gre_fieldmapping sequence (make sure to chose "save magnitude/phase" in order to get both the B0 and ROI maps in the same scan). The B0, B1 and ROI datasets must have the same number of pixels and same dimensions.
* An ROI file in NIFTI format.
 
* A B0 map in NIFTI format.
 
* An FLD file containing the B1+ maps for the slice considered as obtained by pushing "save dataset" in the B1 mapping tab of the Siemens pTx "Step 2" interface.
 
To get the ROI and B0 maps, I use the Siemens product gre_fieldmapping sequence (make sure to chose "save magnitude/phase" in order to get both the B0 and ROI maps in the same scan). The B0, B1 and ROI datasets must have the same number of pixels and same dimensions.
 
 
==== Spokes optimization ====
 
==== Spokes optimization ====
Unzip the code folder and add it to your path. Unzip the data folder and run the script run_spokes.m. There are several options in it that are straightforward to understand (e.g., LS/MLS, spatio-spectral design). The frequencies of the spatio-spectral design are expressed in Hz and are offset with respect to the Larmor frequency (i..e, +50 means Larmor frequency+50 Hz). Most of the spoke options (such as slice-thickness, slice-selection gradient, time-bandwidth product etc...) are specified in the text file spokes_def.txt and can be changed there.
+
Unzip the code folder and add it to your path. Unzip the data folder and run the script run_spokes_sms.m. There are several options in it that are straightforward to understand. Most of the spoke options (such as slice-thickness, slice-selection gradient, time-bandwidth product etc...) are specified in the text file spokes_def.txt and can be changed there.

Latest revision as of 11:50, 21 February 2017

Citation

Guérin Bastien, Setsompop Kawin, Ye Huihui, Poser Benedikt A., Stenger Andrew V. and Wald Lawrence L. (2015). "Design of parallel transmission pulses for simultaneous multislice with explicit control for peak power and local specific absorption rate". Magnetic Resonance in Medicine 73(5):1946–1953

What this code does

This Matlab code (no MEX, no GPU code) computes least-squares and magnitude least-squares pTx spoke SMS pulses with SAR constraints. The MLS problem can be solved using the phase adoption approach of Setsompop et al. or a full optimization strategy.

Download files

The code can be downloaded here. An example of how to run the SMS design can be downloaded here and its accompanying dataset can be downloaded here.

Instructions

Pre-scan data format

The format of the pre-scan data (e.g., B0 map, B1+ maps, slice information in the SODA file) matches the Siemens pTx "Step 2" data format. To take a closer look at this, download the prescan_sms2.zip file. The ROI, B0 and B1+ maps need to have Z images, where Z is the number of SMS slices to be excited simultaneously. To get the ROI and B0 maps, I use the Siemens product gre_fieldmapping sequence (make sure to chose "save magnitude/phase" in order to get both the B0 and ROI maps in the same scan). The B0, B1 and ROI datasets must have the same number of pixels and same dimensions.

Spokes optimization

Unzip the code folder and add it to your path. Unzip the data folder and run the script run_spokes_sms.m. There are several options in it that are straightforward to understand. Most of the spoke options (such as slice-thickness, slice-selection gradient, time-bandwidth product etc...) are specified in the text file spokes_def.txt and can be changed there.