Plugins overview

jMRUI was thoroughly redesigned between versions 3 and 4 and turned into a modular platform that allows the developers and third parties to extend the core functionality through the development and use of plugins.

jMRUI version 4 adopted a plugin architecture
jMRUI version 4 adopted a plugin architecture (figure by Danielle Graveron).

Core plugins

Core plugins are part of jMRUI and get distributed with the software. The users can enable or disable them to adjust their jMRUI installations to their specific needs (for instance:  to remove import routines related to scanner models they do not use, or to remove pre-processing and processing routines they never use). Since disabled plugins are not loaded when launching the program, this results in a smaller memory footprint.

There are currently four types of core plugins:

  • conversion plugins,
  • pre-processing plugins,
  • quantitation plugins,
  • user plugins

Contributed plugins

The modular design of jMRUI allows third parties to create plugins to extend the software capabilities. These plugins have access to all jMRUI features already coded in the core-plugins like: reading spectrometer files, displaying data on screen, pre-processing and fitting routines, etc., thus allow the programmer to concentrate on the processing routines.

As of version 6, these are the available contributed plugins:

  • SpectraClassifier – A Java solution for designing and implementing Magnetic Resonance Spectroscopy (MRS)-based classifiers.
  • INTERPRET Decision-Support System (INTERPRET DSS) – A human brain tumour diagnosis tool based on single-voxel MRS data that allows the analysis of single-voxel raw data acquired at 1.5 T.
  • jMRUI2XML – A Java plugin built with two purposes in mind: (1) automating, to a certain degree, MRS processing, and (2) as a platform for outputting exchangeable data for its use in pattern recognition (but not limited to this).