Skip to content

jonbmartin/open-source-pulse-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

banner

Open Source RF Pulse Design Demos

Binder

This repository contains a series of interactive demos on RF Pulse Design in the form of Jupyter Notebooks. They supplement the lecture "Open Source Pulse Design and Interactive Demonstraction" from the ISMRM 2020 Annual Meeting's educational session "Hands-On: Pulse Sequence & RF Pulse Design" given by Jonathan Martin of the Grissom Lab at Vanderbilt University.

Setup

The user has two options for running the demonstration Jupyter notebooks.

1. Binder (recommended): Binder is a service that provides software environments that can be opened and run in entirely in the cloud. To run the demos in the browser, click on this icon, either here or at the top of the page: Binder The exercises can then be opened and run in the same manner as any other .ipynb file simply by clicking on their filenames once the environment is built, with no local installs.

2. Locally: To run the demos locally, the repository should be downloaded and its contents extracted. The following requirements will need to be satisfied on your device:

  • Python >= 3.5
  • sigpy >= 0.1.17 (and all dependencies e.g. scipy, numpy, installed with pip/conda). SigPy install guides are found here.
  • matplotlib (pip/conda)
  • jupyter notebook (pip/conda)

Open the exercises in a notebook by navigating to the directory in which the repostory was installed and typing jupyter notebook into the terminal.

Exercises

This demo is split into four sets of exercises, each in their own python notebook in the exercises folder:

  1. SLR Pulse Design: This notebook goes through the essentials of SLR pulse design with SigPy.
  2. Pulse Multibanding: This notebook builds on the first by teaching how to multiband an SLR pulse to excite simultaneous slices and how to design a PINS multiband pulse.
  3. Adiabatic Pulse Design: The third set of exercises focus on the design of adiabatic RF pulses for excitation and inversion.
  4. Parallel Transmission: The last notebook works through a small-tip spatial-domain pulse design for a parallel transmission system. It also provides information on some of the useful abstractions that SigPy includes, such as Linops and Algs.

These notebooks are primarily skeleton code, which the participant should fill in to complete the pulse design. Solutions are found in the solutions folder.

There is also a supplemental demo on how to use many of SigPy's computational abstractions in the supplemental_demo folder.

The video lecture that introduces these exercises will be posted on the ISMRM website and linked to in this repository at a future date. It is recommended that you work through the exercises in parallel with the video lecture.

The pulse designers used in this tutorial are a part of the SigPy python package. SigPy documentation is here, the source code is here, and tutorials on the use of SigPy for image recon are here.

For additional background reading, we recommend the Handbook of MRI Pulse Sequences by Berstein, King, and Zhou (2004). It provides excellent coverage of SLR and adiabatic pulse design.

References

[1] J. Martin, F. Ong, J. Ma, J. Tamir, M. Lustig, and W. Grissom, “SigPy.RF: Comprehensive Open-Source RF Pulse Design Tools for Reproducible Research”, in Proceedings of the ISMRM Annual Meeting and Exhibition, 2020, p. 1045.

About

RF Pulse Design with SigPy.RF tutorial

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published