1510

MRI Pulse Sequence Development Using Graphical User Interface Modules
Saulius Archipovas1, Thorsten Honroth1, Cristoffer Cordes1,2, Matthias Günther1,2, and David Porter1

1Fraunhofer MEVIS, Bremen, Germany, 2University of Bremen, Bremen, Germany

Synopsis

We present a preliminary study on developing MRI pulse sequences using graphical user interface elements. We introduce a prototype where a sequence developer can specify a sequence structure and parameter dependencies just using the GUI. As a result, a sequence developer can concentrate on the MRI sequence design, rather than on software engineering issues. The GUI-based development framework is decoupled from the manufacturer’s development environments and promises to promote the development of basic sequence designs that are independent of the scanner platforms used.

Purpose

The development of MRI sequences typically requires time-consuming, low-level programming and extensive experience with a manufacturer’s proprietary development tools. The sequences defined with these development tools require a well-defined order of parameter calculations to take account of the parameter dependencies, resulting in a sequence that both complex and inflexible. In addition, these pulse sequences are not easily ported to other scanner platforms, limiting their use in multi-centre studies.

A number of alternative pulse sequence programming tools have been introduced to address some of these issues [1][2][3].

These limitations are further addressed in the current work by introducing a concept in which a graphical user interface (GUI) plays the central role in the sequence development process. The concept was motivated by a study that was conducted to identify the key requirements of a user-friendly MRI sequence development environment [4]. The technique exploits previous work [5], which allows parameter dependencies to be resolved by an automatic algorithm without the requirement for the user to define the order of parameter calculations. The work also makes use of a special software (driver) on the scanner [6] that can run platform-independent sequences without code compilation.

Methods

A prototype of the proposed technique was developed using a simple GUI for the interactive definition of MRI sequences [Fig.1]. The GUI makes a number of UI elements available that can be combined directly to construct a new MRI pulse sequence. The resulting sequence components, such as a readout module, can be reused and integrated easily into another sequence type.

Each in UI defined sequence component has a set of parameters, such as an amplitude, that can be configured and added to by the sequence programmer. These parameters can be set to a static value or specified as a function written as an inline script. The parameter arguments of these functions are a list of other parameters, which can for example belong to other sequence components. A key feature of the development environment is that it is not necessary to define the order of parameter calculations, as in traditional pulse sequence programming. The user simply specifies the parameter dependencies for each sequence module and an algorithm is used [5] to resolve these dependencies and to apply the calculations in the correct order each time a parameter value is requested – also during runtime of the sequence on the scanner.

Once the sequence structure and a consistent set of parameter dependencies have been defined, the sequence can be exported via the GUI as a text file that can be installed at a scanner and run by a pre-installed scanner driver [6].

An overview of the overall development framework, based on a web server for performing the GUI-based sequence definition and export, is provided in fig. 2.

To demonstrate the feasibility of the proposed GUI-based sequence development technique, the GUI was used to define a 2D spoiled gradient echo sequence [7] with a FOCI inversion pulse [8]. The sequence was installed on Siemens MAGNETOM Skyra 3T scanner (MAGNETOM Skyra, Siemens Healthcare GmbH) running a compatible driver [6]. Using same sequence definition file two data sets were acquired.

Results

Figs. 3B and 3C show the images acquired using the sequence created within the framework. The images are of good quality and clearly show how the resulting sequence responds to protocol changes during the measurement session. The T1 contrast in fig. 3A demonstrates that the FOCI inversion pulse is working correctly.

Discussion

Although this preliminary study has focussed on a relatively straight-forward sequence type, the sequence generated already demonstrates complex parameter dependencies and no major obstacles are expected when extending the basic principles to sequences with further complexity. This GUI approach to sequence development allows a high level of modularity as presented. By focusing the sequence development on the specification of a sequence structure and parameter dependencies using the GUI, the sequence developer can concentrate on the MRI sequence design, rather than on software engineering issues. This will make sequence programming accessible to a wider group of scientists.

Conclusion

The GUI-based approach to MRI pulse sequence development introduced in this work promises to simplify the implementation of MRI pulse sequences. It provides a new conceptual framework for sequence development, which allows the user to build sequences using graphical modules and to define the behavior of the sequence via parameter dependencies without having to specify the chronology of parameter calculations. The resulting sequences adapt to protocol parameters input at the scanner and are therefore well-suited to clinical studies with variable protocol parameters

Acknowledgements

All funding for this study was provided by the internal Attract funding program of the German Fraunhofer-Gesellschaft.

References

[1] Magland, J. F. et al. (2016). "Pulse sequence programming in a dynamic visual environment: SequenceTree". Magnetic Resonance in Medicine, 75(1), 257–265. http://doi.org/10.1002/mrm.25640

[2] Layton, K. J. et al. (2016). "Pulseq: A rapid and hardware-independent pulse sequence prototyping framework". Magnetic Resonance in Medicine. http://doi.org/10.1002/mrm.26235

[3] Stöcker et al. (2010). "High-Performance Computing MRI Simulations". MRM 64:186-193

4] Archipovas, S. (2015). "Nutzerorientierte Gestaltung einer Entwicklungsumgebung von MR-Sequenzen auf Magnetresonanztomographen." Mensch und Computer 2015–Usability Professionals: Workshop. Walter de Gruyter GmbH & Co KG, p.311- 315.

[5] Cordes, C et at. (2016). "Parameter Dependency in Modular MR Sequences using Directed Graphs" International Society for Magnetic Resonance in Medicine (ISMRM), At Singapore, Volume: 24:3198

[6] Honroth, T et al. (2016). "Platform-independent, rapid prototyping of MR sequences without code compilation" International Society for Magnetic Resonance in Medicine (ISMRM), At Singapore, Volume: 24:3207

[7] Haase, A. et al. (1986). "FLASH imaging. Rapid NMR imaging using low flip-angle pulses". Journal of Magnetic Resonance (1969), 67(2), 258–266. http://doi.org/10.1016/0022-2364(86)90433-6

[8] Ordidge, R. J. et al. (1996). Frequency offset corrected inversion (FOCI) pulses for use in localized spectroscopy. Magnetic Resonance in Medicine: Official Journal of the Society of Magnetic Resonance in Medicine / Society of Magnetic Resonance in Medicine, 36(4), 562–566. http://doi.org/10.1002/mrm.1910360410

[9] Jupyter - Open source, interactive data science and scientific computing across over 40 programming languages. Retrieved November 08, 2016, from http://jupyter.org/

Figures

Fig.1. Prototype user interface used to investigate the new GUI-based approach to pulse sequence development. The left side of the GUI defines the current sequence structure and provides access to a component library that allows reusable elements to be inserted into the sequence. The right side of the GUI allows the user to specify parameter dependencies within a specified sequence module.

Fig.2. Conceptual framework for the GUI-based sequence-development environment, consisting of core components: GUI/UI, server and driver. Users can create sequences using the GUI editor. A python based Jupyter Workbook [9] is also provided. Users can work with both editors simultaneously and reactively. A server delivers the GUIs and provides an API for creating sequences from the definitions provided by the users. Developers may extend the environment with own GUI plugins, services, device or simulation drivers.

Fig.3. (A) Graphically defined sequence structure for a spoiled gradient echo (GRE) sequence. (B) Inversion recovery spoiled GRE image with (TI=300ms, TR=3000ms, TE=6ms and matrix size 128x128). (C) Spoiled GRE image without inversion pulse (TR=500ms, TE=15ms, matrix size 256x256). Both images were acquired using a single sequence generated by the GUI-based development framework and without a sequence-specific software compilation. All images were reconstructed at the scanner using the manufacturer’s reconstruction software.

Proc. Intl. Soc. Mag. Reson. Med. 25 (2017)
1510