Skip to content

An open toolbox for executing Pulseq files (http://pulseq.github.io/) on GE MR scanners.

License

Notifications You must be signed in to change notification settings

toppeMRI/PulseGEq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PulseGEq

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).

DEPENDENCIES

Requires the Pulseq and TOPPE packages.

Get the code

$ cd ~/github/
$ git clone git@github.com:pulseq/pulseq.git
$ git clone git@github.com:toppeMRI/toppe.git

Add to Matlab path

  >> addpath ~/github/pulseq/matlab/            % +mr package
  >> addpath ~/github/toppe/                    % +toppe package

GET THE CODE

  $ cd ~/github/
  $ git clone git@github.com:toppeMRI/PulseGEq.git
  >> addpath ~/github/PulseGEq/            % +pulsegeq package

EXAMPLE

  >> 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

SUPPORT FOR OLDER Pulseq VERSIONS

Pulseq v1.2.1

As of Oct 5, 2020, JEMRIS outputs Pulseq v1.2.1. To use that version of Pulseq, do:

Set your clone of the Pulseq repo to v1.2.1

$ 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 -

Call seq2ge.m as follows

pulsegeq.seq2ge('gre-jemris.seq', 'pulseqVersion', 'v1.2.1');

FURTHER DETAILS AND MISCELLANEOUS NOTES

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

About

An open toolbox for executing Pulseq files (http://pulseq.github.io/) on GE MR scanners.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages