Pulseq
is an open, vendor-agnostic file format specification for MR pulse sequences.
Pulseq files can be created in a number of ways, e.g., using the Pulseq Matlab package +mr
, or graphically with
JEMRIS
(additional notes).
The code in this repository converts a Pulseq (.seq) file to a set of files that can be executed on GE scanners (seq2ge.m
).
The reverse is also possible: convert a set of "TOPPE" files to the Pulseq file format (ge2seq.m
).
Requires the Pulseq and TOPPE packages.
$ cd ~/github/
$ git clone git@github.com:pulseq/pulseq.git
$ git clone git@github.com:toppeMRI/toppe.git
>> addpath ~/github/pulseq/matlab/ % +mr package
>> addpath ~/github/toppe/ % +toppe package
$ cd ~/github/
$ git clone git@github.com:toppeMRI/PulseGEq.git
>> addpath ~/github/PulseGEq/ % +pulsegeq package
>> cd ./examples/
>> pulsegeq.seq2ge('2DFLASH.seq', 'verbose', true);
or
>> seq = mr.Sequence();
>> seq.read('2DFLASH.seq');
>> seq.plot('timeRange', [0 0.04]);
>> pulsegeq.seq2ge(seq, 'verbose', true);
To display sequence:
>> nModsPerTR = 3;
>> toppe.playseq(nModsPerTR);
Screen capture of this example: https://www.youtube.com/embed/qswI1vPQ4io
As of Oct 5, 2020, JEMRIS outputs Pulseq v1.2.1. To use that version of Pulseq, do:
$ cd ~/github/pulseq/
$ git checkout 74eb4c06d66ca60a6a6d8548d3ccc1584bca0b98
The clone is now in a detached state. Later, to get back to the branch you were on, do
$ git checkout -
pulsegeq.seq2ge('gre-jemris.seq', 'pulseqVersion', 'v1.2.1');
Coding convention
- Generally follows variable naming convention used in the TOPPE interpreter code (See v6 README.md file).
- Elements of 'modules' array (mostly) match the TP_MODULE struct in the interpreter