www.c3d.org

XHTML/CSS Web design by nmyers at openwebdesign.org

C3D - A 3D Biomechanics Data Standard

C3D - what is it? It's a solution to a problem . . . Clinical Gait, Biomechanics Laboratories and Motion Capture studios around the world use a wide variety of motion capture systems manufactured by many different companies such as Bioengineering Technology Systems, Charnwood Dynamics , eMotion, Motion Analysis Corporation, Peak Performance, Qualysis Incorporated and Vicon Motion Systems to name but a few. Until very recently it was common for each manufacturer to write software that stored their data in their own unique digital file format.

Because each manufacturer used a different format it was common to find that a Movement Study performed on a subject with one Motion Capture System could not be compared with the results from a different system. In some cases, manufacturers even introduced new systems or upgraded existing systems so that they stored data in formats that are incompatible with the previous data recorded in the same laboratory!

This relative incompatibility of basic information within the measurement environment serves to isolate each user and place them in the camp of the manufacturer who supplied the equipment that has been purchased. When two or more users have different motion capture systems, they cannot exchange data freely, even within the same organization or network.

Because of this digital isolation, users have no way to share any of the results of their studies or easily submit data to peer review - except with another member of the same club. Each user has to either write their own software, or use software that is specific to the manufacturer of their 3D capture system. When most people write their own software it is usually specific to the 3D system that they are using and of little benefit to other users unless they have purchased identical equipment.

The only people who appear to benefit from this situation are the equipment manufacturers who appear to have a captive audience for future upgrades and software. However, blaming the manufacturers for this situation is not entirely fair since it has arisen from healthy competition between the different systems. They have had no incentive to be compatible with each other and, if asked, would probably have designed a file format that suited their hardware needs, more than the users’ requirements.

At the root of this problem is the fact that a study performed by one user is only comparable with a similar study by another user if both use identical equipment. We need a "Rosetta Stone" that can make data from any manufacturer intelligible to any user. It would need to have the following properties:

    • The ability to store 3D and analog data in an unprocessed form. It is not essential that data is stored without processing, but the format needs the ability to support raw co-ordinate and analog sample data.
    • Preserve information that describes the physical design of the laboratory such as EMG channels used, force plate positions, and marker sets etc.
    • Store Trial information relating to the circumstances of the test session such as sample rates, filenames, dates, EMG muscles recorded etc.
    • Store Patient information - name, age at trial, with physical parameters such as weight, leg length etc.
    • Store calculated analysis results such as gait timing, cycle information and related information.
    • Flexibility and compatibility - it must provide the ability to store new information without making older data obsolete.
    • A public specification and format description so that anyone can access data without depending on a manufacturer for information

Such a tool exists today and has been proved in continuous use since 1987. The C3D data file format was developed by Dr. Andrew Dainis and conforms to the published C3D file specification which is freely available from this web site. The format is widely used at the National Institutes of Health Biomechanics Laboratory in Bethesda, Maryland as well as many other leading Biomechanics Laboratories throughout the world.

The design of the C3D file format was originally driven by the need for a convenient and efficient format to store data. The format stores 3D coordinate and numeric data for any measurement trial, with all the various parameters that describe the data, in a single file. This largely eliminates the need for motion related data to travel around with additional notes and test information (which usually gets separated from the data at some point in its travels).

The ability to store a multitude of information about the data is the feature that sets the C3D format apart from every other biomechanics format. Early in the design of the C3D format it was realized that it was unlikely that one, ironclad, specification would fit every biomechanics need. As a result the C3D file usually stores a small number of common parameters that describe the 3D data and then allows the users to define, generate, and store within the file any number of user or lab defined data items so that anyone opening the C3D file can access them.

As a result, adding parameter information to a C3D file is very easy. Since the C3D format is not tied to any specific manufacturer it can be freely adapted to store the information that the users require without making a commitment to any specific manufacturer.

The C3D format description

The design of the C3D file format was originally driven by the need for a convenient and efficient mechanism to store data collected during Biomechanics experiments. The C3D format stores 3D coordinate and numeric data for any measurement trial, with all the various parameters that describe the data, in a single file. This largely eliminates the need for trial data to travel around with additional notes and subject information in separate files (which usually gets separated from the data at some point in its travels).

The ability to store a multitude of information about the data is the feature that sets the C3D format apart from every other biomechanics format. Early in the design of the C3D format it was realized that it was unlikely that one, ironclad, specification would fit every biomechanics need. As a result the C3D file usually stores a small number of common parameters that describe the 3D data and then allows the users to define, generate, and store within the file any number of user or lab defined data items so that anyone opening the C3D file can access them.

The C3D file format provides a means of storing all the raw data and other information required to interpret or analyze the raw data at a later stage. Data stored in the C3D format can provide a means of standardizing the interchange of information and can enable multi-user studies across a wide variety of manufacturers hardware and software platforms.

The C3D format treats information as if it belongs to one of two classes:

Physical Measurements

The C3D specification expects physical measurements to be one of two types, either positional information (3D coordinates) or numeric data (analog information).

Each 3D coordinate is stored as a raw X, Y, Z data samples with information about the sample - accuracy (the average error or residual), and camera contribution (which cameras were used to produce the data).

Each sample of numeric data can contain analog information from sources such as EMG and Force Plates etc. and is linked to the 3D samples so that it is easy to determine the correct numeric data values for any 3D sample within the file. If desired (for high analog rates etc.) The C3D format can store multiple numeric samples per 3D coordinate sample. As a result many C3D files contain both analog and 3D data linked frame by frame which is a big improvement over the OEM formats that store analog and video data separately. Storing related information in a single file gives a greater degree of confidence in the data and makes it easier to retrieve the relevant data.

Parameter Information

In addition to physical measurement data, a typical C3D file will also contain information about the data such as measurement units and data point labels etc. However, unlike most manufacturer designed formats, the C3D file format can also store database information such as the subjects name, diagnosis and other items that may be specific to an evaluation protocol or an individual laboratory. All that is required to share this data between different labs is that they both agree that the shared data should have a particular name. The contents of the data or the nature of the accessing system is immaterial once the laboratories agree on the description and name of any particular item.