Table of Contents
- Download the source code
- Getting started
- Using TOPPE as a Pulseq interpreter
TOPPE is a simple, modular framework for rapid prototyping of pulse sequences on General Electric MRI scanners.
The current software version is ‘v2c’.
All content related to this project, except the GE EPIC source code for the interpreter, is hosted on Github: https://github.com/toppeMRI/toppe
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.
The following example shows the TOPPE files for a sequence containing four different modules:
DOWNLOAD TOPPE SOURCE CODE
TOPPE MATLAB code 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 https://github.com/toppemri/toppe
The TOPPE binary executable (psd) is written in ‘EPIC’ and is available for download in the following private Github repository:
Or from a console:
git clone https://github.com/jfnielsen/TOPPEpsdSourceCode
For access, please email your Github user name to email@example.com or firstname.lastname@example.org.
Access is limited to institutions that have signed the GE Research Community Sharing License, available at https://collaborate.mr.gehealthcare.com/groups/mr-software-sharing.
Compiling the TOPPE interpreter
The TOPPE binary psd (‘toppev2c’) is compiled in the usual way, i.e.:
prep_psd_dir; psdqmake hw;
Copy the resulting executable files, e.g., toppev2c and toppev2c.psd.o for DV25 and earlier, to /usr/g/bin/ on the scanner.
Running an example TOPPE sequence (UPDATED May 2019)
The examples/ISMRM2019_SoftwareDemo folder contains two complete examples to get you started: 2D GRE and 2D EPI. See the README.md file in that folder for usage.
These sequences will be/was demonstrated at ISMRM in Montreal on Sun May 12 during the educational session titled ‘Open-Source Software Tools for MR Pulse Design, Simulation & Reconstruction’. The specific demonstration is titled ‘Live Cross-Vendor Sequence Programming with Pulseq’.
The TOPPE User Guide
Additional details and instructions are provided in this MRM paper and in the TOPPE user guide
Latex source code for this guide is open source, available in the TOPPE repository, https://github.com/toppeMRI/toppe/.
USING TOPPE AS A GE INTERPRETER FOR Pulseq (under development)
Pulseq (https://pulseq.github.io) 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 included in the TOPPE distribution. 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
- Get the TOPPE Matlab toolbox
$ git clone email@example.com:toppeMRI/toppe.git
- Convert the Pulseq (.seq) file to a set of TOPPE files.
>> addpath ‘<pathToToppe>/pulseq’ >> seq2ge(<.seq file>)
- Execute (TOPPE) sequence as described above.
TOPPE is being developed at the fMRI laboratory at University of Michigan.
For questions, contact Jon-Fredrik Nielsen at firstname.lastname@example.org or email@example.com.