Flexibility in designing pulse sequences has a direct impact on the development of diverse acquisition techniques and strategies (Handbook of MR pulse sequences). This flexibility is typically leveraged to achieve improved tissue contrast, faster acquisition times and enhanced Signal-to-Noise Ratio (SNR). However, this requires knowledge of specific programming environments that are MR vendor dependent (Pulseq, TOPPE. Pulseq-GPI). These environments are also specific to vendor hardware (generations) and software (revisions) intended for implementation. This requires considerable effort and impedes the pace of prototyping. To this end, multiple tools have been developed to enable rapid prototyping and/or deployment of these sequences.
Open source pulse sequence programming has been in practice since the time of the first MR scanners in laboratories (). However, new pulse programming frameworks have been shared publicly since 2004 (ODIN). Recent developments related to the separation of pulse sequence programming from vendor-specific hardware has allowed for vendor-agnostic tools (Pulseq, TOPPE, Pulseq-GPI).
An open source pulse sequence programming framework is distinguished in its ability to separate programming from hardware (Pulseq, TOPPE). This involves the development of wrappers and/or file formats that are interpretable by one or more hardware setups.
Important features of these frameworks include:
- simulation tools (Bloch equations, Extended Phase Graphs),
- libraries for designing and visualizing radiofrequency and gradient waveforms,
- ordering these waveforms to form pulse sequences,
- a high-level description of the sequences to easily modulate acquisition parameters
A key distinguishing feature is the ability to deploy on different hardware platforms. Some frameworks also provide support for the reconstruction of acquired data, compatibility with standard raw data formats such as ISMRMD, and rudimentary image analysis methods. These software packages are typically programmed in Python, MATLAB and C++. Examples of such frameworks include ODIN, JEMRIS, SpinBench, MRILab, SequenceTree, GPIlab, Pulseq, TOPPE, Pulseq-GPI, etc. Benefits of these frameworks include rapid prototyping of pulse sequence, non-Cartesian image acquisition and reconstruction, harmonization of sequences across vendor platforms, pragmatic teaching tools among others.
Comparisons of the frameworks
The table indicates a suggestive list of features and the ability of a framework to address some or all of the features above.
Current applications and adoption
Open source pulse sequence programming frameworks have been primarily used for demonstration of novel sequences, teaching tools, rapid prototyping of non-Cartesian sequences and comparing sequences on multiple platforms.
Free scanning of open source pulse sequences - Scanner as an online service
Some MR centers actively developing open source pulse programming allow uploading of MR sequence files for playing out on their scanners. For example, pulse sequence developers could upload their pyPulseq generated sequence to https://docs.google.com/forms/d/e/1FAIpQLSf3MIC6bcOpV20-yYrqmO_OhK4wNgsKZu3oBqRYe4CLbzIT8A/viewform and test out their development.
List of tools at https://www.opensourceimaging.org/projects/
MR Hub at https://www.ismrm.org/MR-Hub/, https://ismrm.github.io/mrhub/
(1) Jochimsen TH, Schäfer A, Bammer R, Moseley ME. Efficient simulation of magnetic resonance imaging with Bloch–Torrey equations using intra-voxel magnetization gradients. Journal of Magnetic Resonance. 2006 May 1;180(1):29-38.
(2) Benoit-Cattin H, Collewet G, Belaroussi B, Saint-Jalmes H, Odet C. The SIMRI project: a versatile and interactive MRI simulator. Journal of Magnetic Resonance. 2005 Mar 1;173(1):97-115.
(3) Stöcker T, Vahedipour K, Pflugfelder D, Shah NJ. High‐performance computing MRI simulations. Magnetic Resonance in Medicine. 2010 Jul;64(1):186-93.
(4) Liu F, Velikina JV, Block WF, Kijowski R, Samsonov AA. Fast realistic MRI simulations based on generalized multi-pool exchange tissue model. IEEE transactions on medical imaging. 2016 Oct 25;36(2):527-37.
(5) Magland JF, Li C, Langham MC, Wehrli FW. Pulse sequence programming in a dynamic visual environment: SequenceTree. Magnetic resonance in medicine. 2016 Jan;75(1):257-65.
(6) Layton KJ, Kroboth S, Jia F, Littin S, Yu H, Leupold J, Nielsen JF, Stöcker T, Zaitsev M. Pulseq: a rapid and hardware‐independent pulse sequence prototyping framework. Magnetic resonance in medicine. 2017 Apr;77(4):1544-52.
(7) Nielsen JF, Noll DC. TOPPE: A framework for rapid prototyping of MR pulse sequences. Magnetic resonance in medicine. 2018 Jun;79(6):3128-34.
(8) Ravi KS, Potdar S, Poojar P, Reddy AK, Kroboth S, Nielsen JF, Zaitsev M, Venkatesan R, Geethanath S. Pulseq-Graphical Programming Interface: Open source visual environment for prototyping pulse sequences and integrated magnetic resonance imaging algorithm development. Magnetic resonance imaging. 2018 Oct 1;52:9-15.
Needs login https://www.ismrm.org/19/program_files/WE21.htm