A modular framework for rapid prototyping of pulse sequences on General Electric MRI scanners.
Jon-Fredrik Nielsen1 and Douglas C. Noll1
Stable release, GNU Library General Public License V2.0
TOPPE is a simple, modular framework for rapid prototyping of pulse sequences on General Electric MRI scanners.
TOPPE allows the entire sequence to be specified with a set of external files created with a high-level software tool such as Matlab. This makes it possible to play arbitrary sequences of RF pulses and gradient waveforms, which enables rapid prototyping of sequences without the need for low-level EPIC programming. With TOPPE, the task of pulse programming a GE scanner becomes one of creating the various external files that define the sequence. TOPPE has to date been used in several projects including stack-of-spirals imaging, Bloch-Siegert B1+ mapping, echoshifted RF-spoiled imaging (PRESTO), steady-state imaging with 3D tailored RF excitation, and dual-echo steady-state (DESS) imaging. TOPPE is currently being made compatible with Pulseq, an open file format for compactly describing MR sequences.
Working with TOPPE involves three basic steps:
- Design the RF and gradient waveforms you want to play out on the scanner, using any suitable method.
- Create TOPPE sequence files (gray boxes). This is done by first writing each unique sequence block, or module, to a ‘.mod’ file using the ‘mat2mod.m’ MATLAB script. You then create a file named ‘scanloop.txt’ that specifies the order in which to play out the modules, waveform amplitudes, and other dynamic sequence information. Finally, create a small file named ‘modules.txt’ that lists the various modules.
- Copy the files you created to /usr/g/bin/ to the scanner, and run the TOPPE binary executable (green box) which loads the files and executes the sequence. The TOPPE executable only needs to be compiled and installed once per scanner software upgrade.
1 Department of Biomedical Engineering, University of Michigan, Ann Arbor, Michigan, USA.