Benutzer-Werkzeuge

Webseiten-Werkzeuge


glue:processconfiguration

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
glue:processconfiguration [2017/02/17 18:37] – [Process Config XML: Groups of trials] oliverglue:processconfiguration [2021/07/05 15:34] (aktuell) – [Process Config XML: Groups of trials] oliver
Zeile 1: Zeile 1:
 ======Process Configuration====== ======Process Configuration======
-This component arranges the processing of multiple measurement trials by the **Math Engine** based on a **model description**. Typically trial data is saved in a single folder in the filesystem. For each trial, more than one file, with the same name but different suffixes can exist. +=====General features===== 
 +This component arranges the processing of multiple measurement trials by the [[modellingcomponents:mathengine|Math Engine]] based on a [[modellingcomponents:mathengine#model_description|Model description]]. Typically data trial are saved in a single folderin the filesystem. For each trial, more than one file, with the same name but different suffixes can exist. 
  
 E.g. there is a 001.c3d file, which includes timeseries of marker positions of a 3d motion analysis system, a 001.mpg file with a synchronous measured video, 001.enf (Vicon file type) with meta data and so on. The file types are free configurable. E.g. there is a 001.c3d file, which includes timeseries of marker positions of a 3d motion analysis system, a 001.mpg file with a synchronous measured video, 001.enf (Vicon file type) with meta data and so on. The file types are free configurable.
Zeile 70: Zeile 71:
  
 ^ name ^ Default ^ Description  | ^ name ^ Default ^ Description  |
-^ name | Name of this group |   +^ name | Name of this group. Do not used any "_" inside a calcgroup name because files with include this character are not shown in the "Data"-Tab. |   
 ^ sheet | | A Sheet definition which is used to plot sheets of time series of data assigned to this group. | ^ sheet | | A Sheet definition which is used to plot sheets of time series of data assigned to this group. |
 ^ view | | A View 4d defintion which is used to visualize time series of data assigned to this group. |  ^ view | | A View 4d defintion which is used to visualize time series of data assigned to this group. | 
Zeile 80: Zeile 81:
 To define which trials are assigned to a group the element <identification> is used. It is possible to assign a trial to different groups but this is not recommended. To define which trials are assigned to a group the element <identification> is used. It is possible to assign a trial to different groups but this is not recommended.
  
-**Identification of trials:**+====Identification of trials:====
 The <identification>-element includes one or more <entry>-Elements. Each of these elements describe a condition. The key-attribute is the name of a property which is attached to the trial e.g. in the case of Vicon data it is the name of a property saved in the trials corresponding .enf-file. There are some special additional keys which exist independed from the third-partys measurement data files: The <identification>-element includes one or more <entry>-Elements. Each of these elements describe a condition. The key-attribute is the name of a property which is attached to the trial e.g. in the case of Vicon data it is the name of a property saved in the trials corresponding .enf-file. There are some special additional keys which exist independed from the third-partys measurement data files:
  
Zeile 87: Zeile 88:
 <code xml> <code xml>
     <identification>     <identification>
-     <entry key="CLASS">Static_Cal"</entry> +       <entry key="CLASS">Static_Cal"</entry> 
-     <entry key="SIDE">bds|links|rechts|Side R|Side L|Both"</entry>+       <entry key="SIDE">bds|links|rechts|Side R|Side L|Both"</entry>
     </identification>     </identification>
 </code> </code>
Zeile 95: Zeile 96:
 A trial is assigned to the group of trials, if the conditions defined by all <entry>-elements are achieved. A trial is assigned to the group of trials, if the conditions defined by all <entry>-elements are achieved.
  
-Process Configurations:+====Process Configurations:====
 The <process> element allows to declare properties, which can be read to configure the read of input data from specific files. E.g. for reading data from c3d-files the properties EVENTS, FORCES and POINTS are used. Set the property value to "false" to inhibit to read the specific data, e.g The <process> element allows to declare properties, which can be read to configure the read of input data from specific files. E.g. for reading data from c3d-files the properties EVENTS, FORCES and POINTS are used. Set the property value to "false" to inhibit to read the specific data, e.g
  
Zeile 105: Zeile 106:
 </code> </code>
  
-**Input:** +With the key="inputpath" the input file can be specified for testing purposes: 
-**Output:**+ 
 +<code xml> 
 +   <entry key="inputpath">rawdata/ABC000.r3d</entry> 
 +</code> 
 + 
 +^ Name ^ Values ^  Description | 
 +^ EVENTS | true or false  | If set to false, no events are read. |  
 +^ POINTS | true of false | If set to false, no position data is read. | 
 +^ FORCES | true of false | If set to false, not force plat data is read. | 
 +^ inputpath | path to the data set e.g. inside a r3d-file | If set to a path, than this is used to find the input dataset. if the attribute is not used per default the dataCollections are searched in the "rawdata" group.| 
 +^ outputpath | path to the data set e.g. inside a d3d-file | If set to a path, than this path is created to store the dataset. (This functionality is not yet implemented completely in the MotionDataStorageHandler class.) | 
 + 
 + 
 +====Input:==== 
 + 
 +Attributes of the **<input>**-element: 
 +^ Attribute ^ Default ^ Description ^ Required | 
 +^ labelset | Labelset as defined with the attribute "inputmarkerset" of the element <CalcMLProcessConfiguration>.| The labelset which defines which parts of the data should be read to be processed. | No | 
 + 
 +====Output:====
  
 Attributes of the **<output>**-element: Attributes of the **<output>**-element:
 ^ Attribute ^ Default ^ Description ^ Required | ^ Attribute ^ Default ^ Description ^ Required |
-^ labelset | The labelset which defines which parts of the data should be written to the output and also meta data e.g. the mime type and the file suffix. | Yes | +^ labelset | The labelset which defines which parts of the data should be written to the output and also meta data e.g. the mime type and the file suffix. | Yes | 
-^ mimetype | (deprectated) | Mimetype to define the output file format. This is set normally inside the labelset file. | No | +^ mimetype | (deprecated) | Mimetype to define the output file format. This is set normally inside the labelset file. | No | 
-^ filesuffix | | suffix of the outputfile normally this is defined inside the labelset (deprecated) |  No |+^ filesuffix | | suffix of the outputfile normally this is defined inside the labelset (deprecated) | No |
 ^ dir | | dir of the input session of trials Absolute path of the directory, where the outfile should be written. | No | ^ dir | | dir of the input session of trials Absolute path of the directory, where the outfile should be written. | No |
 ^ name | | Can be used to define the name of the output file. (currently not used) | No | ^ name | | Can be used to define the name of the output file. (currently not used) | No |
Zeile 120: Zeile 140:
 If the **<output>**-element is not set, than all time series and parameters are written to a file located in the input trials session folder. If a file exists this file is overwritten (append="false"). If the **<output>**-element is not set, than all time series and parameters are written to a file located in the input trials session folder. If a file exists this file is overwritten (append="false").
                  
-The **<output>**-elemement can have children <code xml><entry key="A">a</entry></code>.+The **<output>**-element can have children  <code xml><entry key="A">a</entry></code>to control specific properties of the **output handler**.
  
-These Properties can be used from the **output handler**. But this feature is currently not used.  
  
 +===MotionDataOutputHandler===
 +To write output to a file a so called "handlerclass" has to be defined. Such a class implements a so called OutputHandler. The default and most complex OutputHandler is "de.orat.motionDataConverter.MotionDataOutputHandler". It saves so called d3d-files.
 +
 +The following properties are read as <entry>-elements as children of the surrunding <output>-element:
 +
 +^ Attribute ^ Default ^ Description |
 +^ fileName | <session id>.d3d | Output file name inclusive suffix, e.g. "abc.aaa". If the attribute is used the default value is overwritten |
 +^ overwrite | false | If set to "true" for the first calcgroup configuration only has the effect for before saving the data of the first group an existing d3d-file is deletete before. It makes no sense to use this attribute in combination with seperateGroupFiles="true". |
 +^ outputDir | The session folder currently processed. | Absolute path to the folder, where to save the output. |
 +^ trialsGroupName | "singleTrials" | Name of the child group inside the output file, where to save the trials. |
 +^ renameExistingTimeSeries | false | If set to true, existing data timeseries are renamed instead overwritten with the current ones. |
 +^ seperateGroupFiles | false | If set to true for every calcgroup a seperate output file is written. The name of the corresponding output files has the format <session id>#<calcgroup name>.d3d. |
 +
 +If this outputhandler is used for more than one calcgroup, the data of all calcgroups are saved per default into a single d3d-file. For each calcgroup a child group with the name of the calcgroup is created. Inside each of these children a child group with default name "singleTrials" is created and inside this group the data of the single trials are saved. 
 +
 +===TXTTableOutputHandler===
 +
 +^ Attribute ^ Default ^ Description |
 +^ header | | |
 +^ filename | | |
 =====Process Config XML: Model Switches===== =====Process Config XML: Model Switches=====
 +With a switch, the calculation of a modelling element can be switched of or on. One ore more switches can be defined. In the model elements, with the attribute "includes" or "calibrateIncludes" a list of switches can be set. If one or more of these switches are available, the calculation is done. This allows e.g. calculation only for specific trial types.
 +
 +A on-switch is created only, if all defined keys are available in the trial and if the values of all keys matches the regular expression as defined as content of the <entry>-element.
 +
 +<code xml>
 + <Switches used="static_calibrate dynamic">
 +      <switch name="static_calibrate">
 +          <entry key="TRIALCATEGORY">static_calibrate</entry>
 +      </switch>
 +      ...
 +</code>
 +
 +In the above example the switch "static_calibrate" is set only, if the trial includes a key with the name "TRIALCATEGORY" with the value "static_calibrate". If there are additional <entry>-elements, all of them are tested and only, if all matches, the switch is created.
 +
 +The content of the <entry>-element is used as a regular expression. E.g. "static_calibrate|static_calibrate2" includes an or-assignment.
 +
 =====Process Config XML: Model Parameters===== =====Process Config XML: Model Parameters=====
 =====Process Config XML: Normal Data Definition===== =====Process Config XML: Normal Data Definition=====
-=====Example XML Process Configuration fragment=====+=====Process Config XML: Example fragment=====
  
 <code xml> <code xml>
Zeile 235: Zeile 290:
     </folder>     </folder>
 </code> </code>
 +
 +=====Labelsets=====
 +LabelSets are defined in the folder "labelsets" in the projects folder and can be used to select data to read or write.
 +
 +====General structure====
 +The structure of a labelset file looks like follow:
 +
 +<code xml>
 +<?xml version="1.0" encoding="UTF-8"?>
 +<LabelSet name="Default Input - Vicon Objects and Markers">
 +    
 +  <Labels name="ROS" baseFile="true">
 +
 +          <Filter name="zero2nan"/>
 +          
 +          <!-- Objects -->
 +
 +          <Label name="ThoraxQ" mathType="QUATERNION_D"/>
 +          <Label name="ThoraxP" mathType="COLUMN_VECTOR_3D"/>
 +          ...
 +  </Labels>
 +  
 +  <!-- Mapping of label names after reading or before writing to a file -->
 +  <LabelsMap>
 +          <Label from="TargetAngleRPS0" to="Angle0"/>
 +  </LabelsMap>
 +  ...
 +...
 +</code>
 +
 +====File formats====
 +A labelset can be used to define the input or output file format. To do this to the element <Labels> the attributes "mimeType" to define the file format and "fileSuffix" to define the file suffix have to be added. 
 +
 +<code xml>
 +<?xml version="1.0" encoding="UTF-8"?>
 +<LabelSet name="Empty labelset">
 +  <Labels mimeType="application/motiondata+mat" fileSuffix="mat"/>
 +</LabelSet>
 +</code>
 +
 +The following file formats are available:
 +
 +^ Mime Type ^ Description  ^
 +^ application/motiondata+mat | A matlab fileformat. |
 +^ text/motiondata | default motiondata file format. Used with several suffixes: .d3d, .r3d, .rtde, .v3d ... |
 +^ text/x-json | json |
 +^ text/x-csv  | |
 +====Timeseries properties====
 +Properties of the timeseries can defined by attributes of the <Label>-elements:
 +
 +
 +^ Attribute name ^ Description  ^ optional ^
 +^ name | Name the label | no |
 +^ mathType | The math type of the referenced data. Default is Vector3d | yes |
 +^ differentiations | The number of differentations to be calculated. For each differentiation a prefix "d" is added to the timeserie name. | yes |
 +
 +The following math types are available:
 +
 +^ Math type name ^ Description  ^
 +^ REAL | double timeserie |
 +^ COLUMN_VECTOR_3D | timeserie of Vector3d objects |
 +^ MATRIX_3X3D | timeserie of Matrix3d objects |
 +^ QUATERNION_D | timeserie of quaternion objects | 
 +^ STRING | |
 +^ CELL_STRING | |
 +^ COMPLEX | | 
 +^ INTEGER | |
 +^ UNKNOWN | | 
 +^ TYPELESS | |
 +====Filtering====
 +The labelset can be used to define a filter chain. Currently this filter chain is used only during loading of trial in the MultiTrialFileWrapper (module EasyCalc) and MultiTrialFileProvider (module MultiTrialFile API).
 +
 +  - First of all, the filters defind as children-elements of the data labels are executed in its definition sequence. 
 +  - Second the filters, which are defind as children of a <Labels>-element
 +  - and last the filters, which are defined as children of the <LabelSet>-element
 +
 +Independend from the filter chain, calculation of differentiation defined by the "differentiations"-attribut is execute always, if data is saved or loaded.
 +
 +====Mapping timeseries names====
 +If timeseries are read from files to be processed or written to files after processing, their names can be mapped to an other name based on the labelset configuration.
 +
 +If the corresponding label in the labelset defines derivatives, than the derivatives which start with "d" or "dd" for second order are automatically mapped to without an explicit mapping for the derivative. This feature is implemented yet for reading from files with d3d-file-format only. 
glue/processconfiguration.1487353032.txt.gz · Zuletzt geändert: 2017/02/17 18:37 von oliver

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki