Benutzer-Werkzeuge

Webseiten-Werkzeuge


analysistools:motiondataminer

Motion Dataminer

The datamining tool determines and extracts specific defined parameters (single values) from timeseries data, e.g. maximum, minimum or mean values of specific time-intervals (phases) or at specific time-positions (events).

XML Configuration file

An xml-configuration file defines, which values, from which timeseries, from where in the time space, should be extracted. Such configuration files are save in the projects subfolder „Datamining“ and have the suffix „.dml“.

Creation of a new configuration file

New configuration files can be created by the action „Create datamining filter“ in the Tools menue. A button to execute this action is typically available in the main toolbar. It opens an dialog which asks you for a name used as an filename for the created configuration file and an example trial.

Hint: The example trial must be a file recognized as a trial. So a processed „.d3d“-file does not work.

The action automatically creates the „expectedTrialContent“ based on the example trials content. In most cases this includes more than you want, so you have to delete the not needed parts.

Content of an configuration file

Have a look at the following example:

<datamining>
    <expectedTrialContent>
        <general defaultFileSuffix="ux"></general>
        <phaseTypes names="RCycle LCycle RCycleBW RCycleFW LCycleBW LCycleFW"></phaseTypes>
        <eventTypes names="RTO LG LTO RG RHS LHS GHS GTO"></eventTypes>
        <timeseries>
            <timeSerie components="1" name="LGlenohumeralEleDepDirCosAngle"></timeSerie>
            <timeSerie components="1" name="RShoulderAnteRetroHDCalDirCosAngle"></timeSerie>
            <timeSerie components="1" name="LShoulderIroAroAngleGlobe"></timeSerie>
            <timeSerie components="1" name="LShoulderIroAroHDCalAngle"></timeSerie>
            ...
        </timeseries>
        <properties></properties>
    </expectedTrialContent>
    <parameters>
        <parameter component="0" id="RGlenohumeralEleDepHDCalDirCosMax" name="RGlenohumeralEleDepHDCalDirCosAngle" type="max"></parameter>
        <parameter component="0" id="RShoulderEleDepHDCalDirCosMax" name="RShoulderEleDepHDCalDirCosAngle" type="max"></parameter>
        <parameter component="0" id="RShoulderAbdAddHdCalDirCosMin" name="RShoulderAbdAddHDCalDirCosAngle" type="min"></parameter>
        <parameter component="0" id="RShoulderEleDepHDCalDirCosMin" name="RShoulderEleDepHDCalDirCosAngle" type="min"></parameter>
        ...
    </parameters>
    <scopes>
        <scope id="0" name="RCycle" type="phase">
            <variable id="RGlenohumeralEleDepHDCalDirCosMax" name="RGlenohumeralEleDepHDCalDirCosMax"></variable>
            <variable id="RTrunkObliquityHDCalMax" name="RTrunkObliquityHDCalMax"></variable>
            <variable id="RShoulderAbdAddHDCalProjMin" name="RShoulderAbdAddHDCalProjMin"></variable>
            <variable id="RShoulderAbdAddHdCalDirCosMin" name="RShoulderAbdAddHdCalDirCosMin"></variable>
            ...
        </scope>
        ...
    </scopes>
    <groups>
        <group fileSuffix="c3d" id="ShoulderAbdAdd" selected="true"></group>
        <group fileSuffix="c3d" id="ShoulderAnteRetro" selected="false"></group>
        <group fileSuffix="c3d" id="AroIro-0" selected="false"></group>
        <group fileSuffix="c3d" id="Schuerzengriff" selected="false"></group>
        <group fileSuffix="c3d" id="Kaemmen" selected="false"></group>
        ...
    </groups>
</datamining>

Expected trial content definition

All possible data types which are expected in the trials and possibly should be extracted are listed as children of the <expectedTrialContent>-element.

The element <phaseTypes> defines a blank separated list of phase type names in its „name“-attribute. The element <eventTypes> equivalent for event-types.

The <timeserie>-element includes a list of <timeserie>-elements where the attribute „components“ defines the count of components of the timeserie and the attribute „name“ the name of the timeserie.

The element <properties> defines a list of properties as children. Each property defines a data type e.g. „String“ and a name:

<properties> 
  <propertygroup name="TRIAL_INFO">
       <property type="String" name="cycle_nr"/>
       <property type="String" name="pose_x"/>
       <property type="String" name="pose_y"/>
       <property type="String" name="pose_z"/>
  </propertygroup>
</properties>

Parameter definition

After the <expectedTrialContent>-element you can find a list of so called parameters. Each parameter has an id, which is referenced in the scopes. The name-attribute specifies the name of a timeserie, as it is saved in the trials. The component attribute specifies the component. If the timeserie is a timeserie of only doubles the component is zero, in other cases it counts the component, starting by zero.

The most interesting is the „type“ attribute. Have a look at the following table to see, which types are currently available. Additionally types can be implemented easy, if needed.

Type name Description Available for
max maximum in the case of application to a „phase“, „value at“ in the case of an event phases or events
min minimum phases
mean mean phases
std Square root of the variance from the mean. Not yet tested. phases
minframe frame position, where the minimum is reached phases
maxframe frame position, where the maximum is reached in the case of application to a „phase“, „frame at“ in the case of an event phases or events
frames Count of total frames of a phase. These includes frames at which some values can be NaN. Not yet tested. phase
dist

Definition of Scopes

The scope defines event-types or phase-types, for which the parameters are determined. Have a look at the following table to learn about its attributes.

Attribute name Description
id id to determine between different scopes, typically numbers starting with zero
name name of phase- or event-type
type „phase“ or „event“

Each scope can include one or more variables and properties:

 <variable id="LeftScapulaPositionShiftLengthMax" 
           name="LeftScapulaPositionShiftLengthMax"/>
 <property path="TRIAL_INFO/cycle_nr"/>

Definition of Processing Groups

This feature is used only, if datamining is based on a folder.

Attribute name Description
id name of processing group as defined in the job config file
fileSuffix If datamining is based on all trials of an selected folder, the trial data is read from the file with the given file suffix.
selected true or false, depending of the trials defined by this group are included or excluded from the datamining.

Visual view for the configuration

There is also a visual view available, to edit the configuration:

Dataminng based on such a configuration can be applied automatically on lists of datasets or on a selected dataset only.

Visual view of the resulting data

Data can be selected by left-click on a trial child node of a processed d3d-file. Right-click on the selected node opens the context-menu and you can execute the action „Open Datamining sheet“. This opens a View to min/rom/max of all timeseries which are defined as available in the configuration for all phases as defined in the configuration.

Export of CSV-files

In the „visual view of resulting data“ you can right-click on the datas root node to open a context menu. The action „export“ opens a file chooser dialog.

You can choose the path and the file, where to export the data as a csv-file. The exported file can be opened with spreadsheet calculation software. In the case of Excel you can use the suffix „.xsl“ and it can be opened directly. Keep in mind that this is typcically a subset of the data shown in the view.

Known Issues

  • Event- and Phase-Type-Names are shown as „scope type“ in the exported exelsheet and also as node name in the node-hierarchie of the UI. It is allowed to use the same name as event and phase type name. But in this case they can not be distinguished. As a workaround use only different names. In a future release the type „event“ or „phase“ should be added as a suffix between brackets, e.g. RGrasp[event] amd RGrasp[phase].
analysistools/motiondataminer.txt · Zuletzt geändert: 2021/09/13 12:20 von oliver

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki