The definition of C3D parameters is simple - the parameter section must contain all the information necessary to define the contents of the 3D and analog data section of the C3D file. This requirement ensures that anyone opening and reading a C3D file has access to all of the information necessary to interpret and analyze the C3D file contents. The exact parameter contents will vary depending on the data stored in the C3D file, if the file is to be correctly interpreted all the required C3D parameters, documented in this user guide, must exist in the C3D file.
Manufacturers and application programmers can create unique parameters storing data values necessary to support individual application, data collection, and analysis environments. All new parameters need to be publically described and their function documented if the resulting files are to meet the C3D standard and be accessible.
While parameters can describe the data stored in a C3D file, if any changes are made to the data storage methods then existing applications will be unable to interpret the new C3D file contents. For example, it is possible to create a C3D file with a single analog channel containing a stream of 16-bit analog samples - so this documentation could be stored in a C3D file using UTF-16 characters, each stored as a 16-bit sample in the analog channel. As a result the C3D file would meet the ADTECH format definition if the new data was documented by creating an ANALOG:UTF16 parameter. But while the file would be readable by virtually all existing C3D applications, none of them would correctly display the data until they were updated to read the new parameter and apply it to the data processing.
The C3D format defines the 3D Data section contents as a collection of 3D locations stored as XYZ co-ordinates, together with synchronized analog samples stored with each 3D frame. The interpretation of the analog samples is determined when the values are read by users, a format is defined for Force Plate data associated with the 3D coordinates but all other interpretations and processing will be specific to the stored data. The C3D parameters exist to provide descriptions of the stored data and allow users to interpret and process the stored values. For example, the C3D format does not require that accelerometer, EMG, and footswitch data is stored in a C3D file but it can be added to a C3D file and described by parameters associated with the ANALOG group allowing users to interpret and process the data.