MRI Together global workshop

MRI Together

Join us for a live demonstration of TOPPE at MRI Together, a global workshop on open science and reproducible MR research hosted by ESMRMB, Dec 13-17, 2021.
Session: Pulseq on GE
Time: Dec 15 at 18:00-20:00 UTC

Funding to develop harmonized fMRI protocols

(Sep 2021) TOPPE and Pulseq recently received funding from an NIH U24 grant to develop and disseminate harmonized protocols for multi-site fMRI studies. Contact us if you’d like to learn more, and stay tuned for updates!

Table of Contents

  1. Introduction
  2. Download the source code
  3. Getting started
  4. Using TOPPE as a Pulseq interpreter



TOPPE is a simple, modular framework for rapid prototyping of pulse sequences on General Electric MRI scanners.

This framework is currently being updated to version 4.

All content related to this project, except the GE EPIC source code for the interpreter, is hosted on Github:

Working with TOPPE involves three basic steps:

TOPPE workflow

  1. Design the RF and gradient waveforms you want to play out on the scanner, using any suitable method.
  2. Create TOPPE sequence files (gray boxes). This is done by first writing each unique sequence block, or module, to a ‘.mod’ file using the ‘writemod.m’ MATLAB script. You then use the toolbox function ‘write2loop.m’ to 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.
  3. Copy the files you created to the scanner, and run the interpreter (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.


The following example shows the TOPPE files for a sequence containing four different modules (note: contents of scanloop.txt are slightly outdated):

TOPPE files


The TOPPE MATLAB toolbox is open source and is available at:

Alternatively, from a console you can copy the entire MATLAB repository to a local folder as follows:

git clone

The TOPPE binary executable (psd) is written in ‘EPIC’ and is available for download in the following private Github repository:

For access, please email your Github user name to or

Access is limited to institutions that have signed the GE Research Community Sharing License.


Running an example TOPPE sequence (updated Oct 2021)

The TOPPE Matlab toolbox respository contains a complete 3D GRE sequence example.

Additional information

Additional details and instructions are provided in this MRM paper and in the TOPPE Matlab toolbox respository.
For detailed information about the various files involved, see the file in the Matlab repo.

USING TOPPE AS A GE INTERPRETER FOR Pulseq (under development)

Pulseq ( is a platform-independent file format for specifying arbitrary MR sequences. In preliminary work we have used TOPPE as a GE interpreter of Pulseq files, which involves converting a Pulseq file to TOPPE files using the ‘seq2ge.m’ MATLAB script available at the following repository: We also provide a script ‘ge2seq.m’ for converting TOPPE to Pulseq format. For more details about Pulseq, see the following paper: DOI: 10.1002/mrm.26235

TOPPE files

Contact us

TOPPE is being developed at the fMRI laboratory at University of Michigan.

For questions, contact Jon-Fredrik Nielsen at or