Vicon c3d file format
Mime Type: application/c3d-vicon+trial
File Suffix: .c3d
The C3D file format (www.c3d.org) is a public domain, binary file format that is used in Biomechanics, Animation and Gait Analysis laboratories to record synchronized 3D and analog data. This component implements read routines for this format and also for the non standard extentions made by Vicon and used by Vicon Workstation and Nexus. Write routines are also available but not yet tested.
The usage of the c3d format is not recommended due to its restrictions and the manifold of unspecified workarounds to overcome them.
- Vicon stores Events in a proprietary way in the parameter section. But this allows to store only 127/255 events.
- The count of timeseries is saved in one byte. This results that it also needs a workaround, if you want to save more e.g as the CLEVE model do. To manage this, additional parameters are defined: DESCRIPTIONS2, LABELS2, …
- The length of the timeseries is restricted due to the fact that the number is saved as an INT16 or UINT16
The following list reports the parameters' format which are not supported by Vicon products:
- A null frequency (POINT:RATE) is impossible.
- The description of each point (POINT:DESCRIPTIONS) can't be empty.
- The description of each analog channel(ANALOG:DESCRIPTIONS) can't be empty.
- The description of the parameter in the analysis (ANALYSIS:DESCRIPTIONS) can't be empty.
- The subject associated which each parameter in the analysis (ANALYSIS:SUBJECTS) can't be empty.
Vicon products (Workstation and Nexus) use the parameter EVENT:ICON_IDS to determine the type of the event (i.e. General, Foot Strike, Foot Off). Then, if the correct id is not set, their display are not correct. Even if there is no rule for the id value, these 3 next values are used in Vicon Workstation and Nexus:
General event: 0 Foot Strike: 1 Foot Off: 2
Without the use of these values, it is known that Workstation and Nexus put all events in general. For Polygon, one user reported that some points had their values set to 0 when all events have their id set to 0.