The Math Engine reads a model description from an XML file (following the model.dtd), applies this to a trial of input timeseries and optional parameters and creates an output file, which includes timeseries, parameters, event positions etc.. The Math Engine is highly configurable and includes a powerful Plugin System for simple mathematical functions and complex mathematical algorithms as well. The Math Engine runs the most important functionalty of the Upperlimb software sometimes called the „Processing step“.
The following XML Model fragment shows that simple mathematical formulae can be used directly in the model description (e.g. (LSHO+RSHO)/2.0) and that more complex algorithms e.g. a definition of a coordinate system based on the position of some markers are accessed by specific elements (e.g. <coordinatesystem/>) and configured by its attributes (e.g. Position=„CLAV“).
<CalcModel name="Test"> <Point name="ShoulderMidPoint">(LSHO+RSHO)/2.0</Point> <CoordinateSystem name="Thorax" Position="CLAV" FirstAxis="CLAV-C7" DefiningAxis="(CLAV+C7)-(STRN+T10)" orientation="xyz"/> </CalcModel>
The model can include externally defined parameters. If these parameters are fix for the model they are defined in a file with the name „constant.properties“ in the projects subfolder with the name „Constants“.
Subject specific parameters can be read from an „.mp“-file in the session folder or from a so called examination properties files.
A model is always formulated for a single time frame and it is automatically applied to each frame of the timeseries. A Nimue application can be based on a set of fix models delivered with the application which maybe can be selectable by the user. Or the application can provide a complete modelling system, where the XML model descriptions can be created and modified by the user. In this case a powerful grahical user interface (XML Multi View) is available to hide the xml code for the user.