Java-based graphical user interface for MRUI, a software package for quantitation of in vivo/medical magnetic resonance spectroscopy signals
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 memory, an hard disk and a 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)
- et al.
Retrieval of frequencies, amplitudes, damping factors and phases from time-domain signals using a linear least-squares pocedure
J. Magn. Reson.
(1985) - et al.
Absolute metabolite quantification by in vivo NMR spectroscopy: V. Multicentre quantitative data analysis trial on the overlapping background problem
Magn. Reson. Imaging
(1998) - et al.
Web-based telemicroscopy
J. Struct. Biol.
(1999) - et al.
Improved method for accurate and efficient quantification of MRS data with use of prior knowledge
J. Magn. Reson.
(1997) - et al.
Time-domain quantification of series of biomedical magnetic resonance spectroscopy signals
J. Magn. Reson.
(1999) - et al.
SVD-based quantification of magnetic resonance signals
J. Magn. Reson.
(1992) - The MRUI Home Page. See:...
- et al.
Accurate quantification of in vivo 31P NMR signals using the variable projection method and prior knowledge
Magn. Reson. Med.
(1988) - et al.
Analysis of NMR data using time domain fitting procedures
- A. van den Boogaart, MRUI Manual v96.3. A User's Guide to the Magnetic Resonance User Interface Software Package, The...
The Java Programming Language
The Java Class Libraries
The Java Class Libraries
Java in a Nutshell
Programming with JFC
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.