Java-based graphical user interface for MRUI, a software package for quantitation of in vivo/medical magnetic resonance spectroscopy signals

https://doi.org/10.1016/S0010-4825(01)00006-3Get rights and content

Abstract

This article describes a Java-based graphical user interface for the magnetic resonance user interface (MRUI) quantitation package. This package allows MR spectroscopists to easily perform time-domain analysis of in vivo/medical MR spectroscopy data. We have found that the Java programming language is very well suited for developing highly interactive graphical software applications such as the MRUI system. We also have established that MR quantitation algorithms, programmed in the past in other languages, can easily be embedded into the Java-based MRUI by using the Java native interface (JNI).

Introduction

The home page of the magnetic resonance user interface (MRUI) package [1] defines MRUI as “a graphical user interface that allows MR spectroscopists to easily perform time-domain analysis of in vivo MR data”. Starting around 1985 [2] we have shown that quantitating the nuclear magnetic resonance (NMR) signals, coming from “living objects”, by means of model function fitting in the measurement domain of the experiment can considerably improve the quantitation results. This is particularly true if prior knowledge on the signals can be exploited in the model functions used (see also [3], [4]). Also we have established that various forms of processing of the NMR signals, prior to the quantitation, may give another gain in the ultimate results (see for instance [5]).

About a decade ago we felt the need of integrating the various processing and quantitation algorithms, present at that time in the field of MR time-domain data analysis, into one software package. This package ultimately was given the name MRUI. In the first version of the official MRUI manual, written in the context of the EU Human Capital &Mobility/Networks project “Advanced Signal Processing for Medical Magnetic Resonance Imaging and Spectroscopy” (number CHRX-CT94-0432) [6], it can be seen that the graphical user interface (GUI) of the MRUI software runs in the MATLAB [7] environment. In fact, the GUI part is written as a set of MATLAB M-scripts and functions. This requires MATLAB version 4.0 or higher.

The European Union project, currently funding the MRUI development, is part of the Training and Mobility of Researchers/Networks (TMR) programme (project number ERB-FMRX-CT97-0160 [8]). At present there are more than 200 registered MRUI users [1], many of them working in medical environments such as university hospitals. In the mean time we have had various feedbacks that the need to install a commercial software environment such as MATLAB, including a license with a yearly payment, was felt by many user groups as a rather annoying burden. This must be seen in the light that the MRUI package itself is not commercial. Therefore, in the context of the just mentioned TMR project, it was decided to undo the MATLAB software requirement. To that end a new GUI has been designed, written completely in the Java programming language [9], [10], [11], [12], [13], [14]. The required Java development software, called the Java development kit (JDK) can be downloaded for free from Sun Microsystems [15].

In this article we describe the essential components of the GUI. All functionalities, present in the MATLAB-based MRUI, have now been incorporated into the new Java-based MRUI. In addition we have added some new functionalities, particularly on performing quantitation of “series” of MRS signals and on presenting quantitation results in a form directly suited for the Internet. At present about 6 person years were needed in order to develop and generate the new MRUI GUI. The persons, involved, were researchers working in the context of the TMR project [8].

Since Java is designed to be object oriented from the ground up, writing software applications in Java means that one can benefit by the concepts of object technology [16], [17], [18], [19], [20]. Apart from this important general aspect there are some specific reasons why Java is our programming language of choice:

  • Java source code is compiled into Java bytecode, which is claimed to be platform independent. Hence, Java programs can run on any platform with a Java Virtual Machine (the Java interpreter and run-time system [9]).

  • The standard Java library contains the Swing package [13], [14], which is a complete collection of GUI elements.

  • Java supports multithreading [21], which means that parts of a computer program can be executed in separate threads. Each thread executes its code independently of the other threads in the program. This offers the opportunity of enhancing the performance of programs, especially in case of interactive graphical applications.

  • Java supports the Java native interface (JNI) [22], which enables users to make calls to native code.


Examples in the literature of other projects, using Java for scientific data analysis, can be found in [23], [24], [25].

Section snippets

Hardware and operating systems

The computers, we have used the most for developing and testing our MRUI-GUI software, are multimedia PCs. For instance, we have worked with a Gateway2000 GP7-500 XL Pentium III computer with 256MB memory, an 8GB hard disk and a 16MB STB NVidia Riva TNT AGP graphics card. In addition we have used Windows NT 4.0 as the operating system of choice. Also, for testing platform independency of the GUI part, we have run MRUI under Windows 95 and the Linux operating system.

Software

The following software

Conclusions

We conclude that:

  • The work on the Java-based MRUI graphical user interface (GUI) confirms that the Java programming language is indeed well suited for developing highly interactive graphical software applications. Particularly, the Swing part of the Java Foundations Classes [13], [14] appears to be a rich user interface class library.

  • Through the Java native interface (JNI) approach [22] we can embed code, generated in Fortran, into our software system. To that end an additional interface

Acknowledgements

The authors thank Dr. S. Cavassila of the University of Lyon and Dr. L. Vanhamme of the University of Leuven for helpful discussions concerning the MRUI-GUI. This work is supported by the European Union TMR/Networks programme (project number ERB-FMRX-CT97-0160).

Alexandre Naressi obtained his Engineering degree in Computer Science of the Institut National des Sciences Appliquées, Lyon, France in 1998. He was one of the developers and builders of the graphical user interface (GUI) of the Java-based MRUI package.

References (34)

  • For all details on the MATLAB software, browse through The Mathworks Web site at:...
  • The Home Page of the European Union project TMR/Networks ERB-FMRX-CT97-0160. See:...
  • K. Arnold et al.

    The Java Programming Language

    (1996)
  • P. Chan et al.

    The Java Class Libraries

    (1998)
  • P. Chan et al.

    The Java Class Libraries

    (1998)
  • D. Flanagan

    Java in a Nutshell

    (1997)
  • S.R Weiner et al.

    Programming with JFC

    (1998)
  • Cited by (0)

    Alexandre Naressi obtained his Engineering degree in Computer Science of the Institut National des Sciences Appliquées, Lyon, France in 1998. He was one of the developers and builders of the graphical user interface (GUI) of the Java-based MRUI package.

    César Couturier obtained his Engineering degree in Computer Science of the Institut National des Sciences Appliquées, Lyon, France in 1998. He was one of the developers and builders of the graphical user interface (GUI) of the Java-based MRUI package.

    Igor Castang is studying at the Institut National des Sciences Appliquées, Lyon, France, for getting Engineering graduated in Computer Science. He has worked on the Java-based MRUI package in the area of automatic conversion of datafile structures of commercial MR scanners.

    Ron de Beer received his Ph.D. degree in physics in 1971 from the Applied Physics Department of the University of Technology Delft, Netherlands. In 1989 he was appointed Associate Professor at this Institute. His present fields of interest are quantitative data analysis of in vivo magnetic resonance (MR) signals and integration of MR signal processing and data analysis techniques into Java-based software systems.

    Danielle Graveron-Demilly is Engineering graduate of the Institut National des Sciences Appliquées, Lyon, France, 1968; she got her Ph.D. in 1970, Lyon and her D.Sc. in 1984, Lyon. Since 1968, she has been an Engineer of Research in the NMR Laboratory, now CNRS UMR 5012, at Université Claude Bernard, Lyon I. She supervises the signal processing group. Her research interests are signal processing for in vivo magnetic resonance (MR) spectroscopy and MR imaging. She co-ordinates the development of the Java-based MRUI software in the context of the European project, TMR, FMRX-CT97-0160.

    1

    On leave from INSA, Lyon.

    View full text