Benutzer-Werkzeuge

Webseiten-Werkzeuge


fileformats:d3d

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
fileformats:d3d [2017/02/16 15:56] – angelegt oliverfileformats:d3d [2021/02/11 17:47] (aktuell) oliver
Zeile 1: Zeile 1:
-====== d3d motion data file format======+====== The Motiondata file format (.d3d) ======
 This is the recommended file format to store any **time series** data and additional parameters or meta data. This is the recommended file format to store any **time series** data and additional parameters or meta data.
  
-The **c3d file format** and also the **HD ASCII format** has serveral limitations, which are overruled by this new open and flexible file format. It defines an easy and fast to read xml-Header including only non timeseries metadata and parameters. The timeseries are attached as binary double values and only referenced by the header. This allows very fast read routines with random access, also for very big files. +The **c3d file format** and also the **HD ASCII format** have serveral limitations, which are overruled by this new open and flexible file format. It defines an easy and fast to read xml-Header including only non timeseries metadata and parameters. The timeseries are attached as binary double values and only referenced by the header. This allows very fast read routines with random access, also for very big files. 
  
 In contrast to the .c3d file format it allows to save multiple trials as a tree of data. E.g. for managing normal gait data, the time series for all joint angles of all strides from all sessions of all subjects  can be saved in a single file. This makes it easy, to determine mean and standard deviations (meanStd) or coefficients of multiple variance statistics (CMC). In contrast to the .c3d file format it allows to save multiple trials as a tree of data. E.g. for managing normal gait data, the time series for all joint angles of all strides from all sessions of all subjects  can be saved in a single file. This makes it easy, to determine mean and standard deviations (meanStd) or coefficients of multiple variance statistics (CMC).
Zeile 12: Zeile 12:
 If a "Vicon trial" is converted to .d3d, all of its properties, saved in the corresponding .enf file, are copied in the **<PropertyGroup>**.  If a "Vicon trial" is converted to .d3d, all of its properties, saved in the corresponding .enf file, are copied in the **<PropertyGroup>**. 
  
-If the flag **singlePrection** is set to **true**, then all of the data is saved in float values.+If the flag **singlePrecision** is set to **true**, then all of the data is saved in float values.
  
 <code xml> <code xml>
Zeile 40: Zeile 40:
 The referenced timeseries are saved in a sequence after this head. This is efficient, if you want to read a subset of timeseries or if you want to add a timeserie. Also if you want to read all timeseries for processing this is best, because you can get a specific timeserie as an array without collecting the data from different positions of the memory. Remove timeseries is more difficult and not recommened due to performance issues. This default version of the format is good for work with processed data. That means that the number of frames for all timeseries are fix. The referenced timeseries are saved in a sequence after this head. This is efficient, if you want to read a subset of timeseries or if you want to add a timeserie. Also if you want to read all timeseries for processing this is best, because you can get a specific timeserie as an array without collecting the data from different positions of the memory. Remove timeseries is more difficult and not recommened due to performance issues. This default version of the format is good for work with processed data. That means that the number of frames for all timeseries are fix.
  
-If the flag "**streamingData**" is set:+If the flag "**streamingData**" is set
  
 <code xml> <code xml>
Zeile 46: Zeile 46:
     ...     ...
 </MotionData> </MotionData>
-</xml>+</code>
  
-The timeseries are saved in a different way. For each frame the value for each time serie is saved and then for the next frame and so on. This is similar to the c3d-format. This file format version is good to save raw data with an unknown number of frames if you start with saving. For this format version it is not recommended to add or remove timeseries due to performance issues. +the timeseries are saved in a different way. For each frame the value for each time serie is saved and then for the next frame and so on. This is similar to the c3d-format. This file format version is good to save raw data with an unknown number of frames if you start with saving. For this format version it is not recommended to add or remove timeseries due to performance issues. 
-Working with data with different sample rates+ 
 +**Working with data with different sample rates:**
  
 <code xml> <code xml>
Zeile 62: Zeile 63:
 </code> </code>
  
-Working with properties corresponding to different files in the save file format+Working with properties corresponding to different files in the same file format
  
-abc.d3d +abc.d3dabc.aviabc.1.avi
-abc.avi +
-abc.1.avi+
  
-E.g you have different avi files attached to the same trial and you want to save the offset delay of each of the movies to the data saved in the abc.d3d file you have to follow this convention:+E.g you have different avi files attached to the same trial and you want to save the offset delay of each of the movies to the data saved in the abc.d3d fileyou have to follow this convention:
  
 +<code xml>
 <PropertyGroup name="all"> <PropertyGroup name="all">
       <Property name="MOVIEDELAY" value="10"/>       <Property name="MOVIEDELAY" value="10"/>
Zeile 75: Zeile 75:
             ...             ...
 </PropertyGroup> </PropertyGroup>
 +</code>
  
-Common Attributes +**Common Attributes:**
- +
-    name Default Description +
- +
-    name +
- +
-     +
- +
-     +
- +
-    used +
- +
-     +
- +
-    true+
  
-    If this attribute is set to false, the element should be excluded from any calculations or visualization.+^ name ^ Default ^ Description | 
 +^ name | | | 
 +^ used | true | If this attribute is set to false, the element should be excluded from any calculations or visualization. 
 +^ comment | | A free comment, to describe what is the meaning of the elements corresponding data. | 
 +^ frames | -1 | For a **<DataSet>** element, this attribute includes the number of frames of its timeseries. All timeseries of a **<DataSet>** has the same number of frames. If this attribute is set to a number > 0 for  a <DataGroup> element, all included timeseries must have this length. |
  
-    comment+**Events and phases**
  
-     +Phases and events data are saved as subelements of a element which corresponds to a trial. Have a lot at the following example:
- +
-    A free comment, to describe what is the meaning of the elements corresponding data. +
- +
-    frames +
- +
-     +
- +
-    -1 +
- +
-    For a <DataSet> element, this attribute includes the number of frames of its timeseries. All timeseries of a <DataSet> has the same number of frames. If this attribute is set to a number > 0 for  a <DataGroup> element, all included timeseries must have this length. +
- +
-Events and phases +
- +
-    Phases and events data are saved as subelements of a element which corresponds to a trial. Have a lot at the following example:+
  
 +<code xml>
     <DataSet name="3d" used="true" comment="" frames="200">     <DataSet name="3d" used="true" comment="" frames="200">
     <Phases>     <Phases>
Zeile 125: Zeile 103:
                     ...                     ...
     </DataSet>     </DataSet>
 +</code>
  
-Example XML header of a .d3d file+**Example XML header of a .d3d file**
  
 +<code xml>
 <MotionData position="0"> <MotionData position="0">
     <DataGroup name="normal" used="true" comment="" frames="-1">     <DataGroup name="normal" used="true" comment="" frames="-1">
Zeile 177: Zeile 157:
     </DataGroup>     </DataGroup>
 </MotionData> </MotionData>
 +</code>
 +
 +**How to save periods of missing data?**
  
-FAQ 
-How to save periods of missing data? 
 The timeseries data is saved in binary format as a serie of doubles (8xbyte). This format allows to have NaN values. The timeseries data is saved in binary format as a serie of doubles (8xbyte). This format allows to have NaN values.
-Conventions 
  
-    To save raw data a naming and structure convention is given as shown in the following example:+**Conventions**
  
 +To save raw data a naming and structure convention is given as shown in the following example:
 +
 +<code xml>
     <MotionData position="0">     <MotionData position="0">
         <DataGroup name="rawData" used="true" comment="" frames="-1">         <DataGroup name="rawData" used="true" comment="" frames="-1">
Zeile 207: Zeile 190:
     </DataGroup>     </DataGroup>
     </MotionData>     </MotionData>
 +</code>
 +
 +**Data Types**
 +
 +^ Name ^ doubles ^ Description ^
 +^ Double | 1 | |
 +^ Tuple3d | 3 | |
 +^ Quat4d | 4 | sequence of the values w,x,y,z |
 +^ Matrix3d | 9 | |
 +
 +**How to add motiondata files with different suffix than "d3d**
  
 +There is currently no elegant mechanism available. The possible suffixes of motion data file are hardcoded in the follwing two modules: MotionDataFileType2 and Trial2MotionData. Currently the suffixes defined in the following table are recognized. In a future version of the software a better method which allows the user itself to add further suffixes will be added.
  
 +^ Suffix ^ Description ^
 +^ r3d | Raw data collected with JDAQ, e.g. from ROS |
 +^ d3d | Processed data |
 +^ rps | Raw data collected from Artiminds RPS |
 +^ rtde | Raw data collected via the RTDE interface from Universal Robotics |
 +^ v3d | Raw data collection by the Vicon system via DataStream API |
fileformats/d3d.1487257008.txt.gz · Zuletzt geändert: 2017/02/16 15:56 von oliver

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki