Platform-independent, rapid prototyping of MR sequences without code compilation
Thorsten Honroth1, Cristoffer Cordes1,2, Saulius Archipovas1, Daniel Christopher Hoinkiss1, Matthias G√ľnther1,2,3, and David Porter1

1Fraunhofer MEVIS, Bremen, Germany, 2University of Bremen, Bremen, Germany, 3mediri GmbH, Heidelberg, Germany


A platform-independent rapid clinical prototyping environment for MR sequences is demonstrated. Fully interactive product-like sequences can be defined without coding or compiling software. They are saved as plain text files and run by a generic pre-installed software module at the scanner that never needs modifications by a user. Sub-groups of sequence elements can be exported as macros and reused in other sequences.


Platform-independent design of MR sequences helps especially non-technical users and supports multi-center studies.

Several promising approaches already exist: ODIN1 and SequenceTree2 allow to create dynamic sequences that interact with the user via the scanner user interface (UI) but need (at least for the Siemens platform) a compiling of an executable vendor specific sequence program. JEMRIS3 together with Pulseq4 do not require recompilation of the scanner interpreter but they only generate static sequences which cannot react on user input from the scanner UI5.

We present a software solution for rapid clinical prototyping of MR sequences that combines both advantages described above: Creating fully interactive sequences without recompiling source code.


The software has been developed for and tested with a Siemens Magnetom Skyra 3T system (Siemens Healthcare, Erlangen, Germany). A generic program (driver) that runs on this scanner has been developed. It comprises the following features:

For non-technical users: No compiling of software is necessary for a user and almost all tasks can be solved without coding.

Product-line behavior of sequences: Calculations of a sequence necessary for certain parameters or timings are handled by so called connections in this software. A connection consists of input parameters, a formula and the output parameter. Input parameters can be parameters of other sequence elements or parameters from the scanner UI like the echo time (TE). This way, an interactive sequence, which can react on parameter changes from the scanner UI, can be created.

Modularity & Reusability: Sequence elements like ADC events or gradient pulses can be bundled and saved as so called macros that can be reused in other sequences (fig.1). Fast exchange of readout or preparation modules between sequences is possible. Macros together with loops and single sequence elements are incorporated into a tree which represents the sequence structure.

Scripting support: Advanced users can add special functionality to their sequences by adding scripts in the language Lua which does not require compiling.

Automatic calculations: Parameters required by the scanner sequence framework, such as scan duration and RF pulse energy, are calculated automatically.

Platform-independence: The underlying sequence design can be performed from without reference to a specific scanner platform.

Generic scanner driver: The structure of the sequence, its parameters, connections, optional scripts and constituent macros are saved as plain text files (fig.2). Together, these files contain the platform-independent definition of the sequence. At the scanner, they are loaded by a generic pre-installed software module, here called driver, which provides the corresponding interactive sequence. The driver is only compiled once and needs no further changes when switching between sequences.

As a demonstration, a spoiled gradient echo sequence and an echo planar imaging (EPI)6 sequence have been developed, which can be configured at the scanner using standard sequence parameters. For example, the spoiled gradient echo can react to user-specified repetition times (TR) and echo times (TE). Both sequences use the same driver at the scanner: Only different text files for the sequence definitions are used and thus, no new code compilation is necessary. For the EPI sequence, phase correction scans have been integrated.

Two healthy volunteers have been scanned on a Siemens Skyra 3T system (Siemens Healthcare, Erlangen, Germany). All images have been reconstructed on site using the manufacturer’s reconstruction software.


Fig.3 shows images acquired using the spoiled gradient echo sequence using different TR and TE. The contrast changes clearly with the modification of the parameters.

Fig.4 shows four slices acquired using the EPI sequence. Adequate image quality has been achieved.


The software is still preliminary work and might have limitations that are not obvious at the moment but that may lead to e.g. some future restructuring of the software.

Future work will include the development of further scanner drivers, also for different vendors.


A new approach to platform-independent MR sequence development has been demonstrated. It provides the advantage of producing product-like sequences and can react on UI interaction at the scanner while eliminating the need for modifying or recompiling the vendor-specific program that runs on the scanner.


No acknowledgement found.


1. Jochimsen et al., JMRI 170:67-78, 2004.

2. Magland et al., MRM, epub ahead of print, 2015.

3. Stöcker et al., MRM 64:186-193, 2010.

4. Layton et al., Proc ISMRM 23:2484, 2015.

5. Stöcker et al., Proc ESMRMB 32:515-516, 2015.

6. Stehling et al., Science 254:43-50, 1991.


Fig.1: Modularity & Reusability: A pre-existing macro (shown in light green) which defines, for example, a slice selective excitation (left) has been saved and imported into a new developed sequence (right).

Fig.2: The basic idea: The sequence definition including calculations (connections) is exported as text files. The generic sequence program (driver) on the scanner reads this text files and provides the corresponding sequence. A user can control the sequence using the scanner user interface.

Fig.3: A spoiled gradient echo sequence has been developed. TR and TE from the scanner user interface are used for the internal calculations. The same slice has been imaged using different protocols: Left: TR=500ms, TE=4.56ms. Middle: TR=2000ms, TE=4.56ms. Right: TR=2000ms, TE=12ms. The same windowing was used for all three screenshots.

Fig.4: Four slices acquired with an EPI sequence. The same generic pre-installed software module (driver) as for the spoiled gradient echo sequence was used.

Proc. Intl. Soc. Mag. Reson. Med. 24 (2016)