View Full Version : Summary of C3D responses

Gerome Garthwaite - Phse361/461
11-01-1998, 09:28 PM
Thank you to all those who took the time to respond to my enquiry. The
responses showed that we are not alone in our problem, and it seems
at least one commercially availiable solution to this problemn is in
the pipeline(Ed Cramp at MLS). My apologies for the length of this
posting, I did not want omit anything that my be of use to list
members. The main responses were as follows:
Speaking of .c3d files, is there any Visual Basic code to read and
write .c3d files publicly available?

Theresa Foti, Ph.D. Shriners Hospitals for Children 950 W. Faris
Road Greenville, SC 29605 (864) 240-6289
I read your message and figured I might be able to help. You can use
the READC3D.M file that I constructed to develop your program, as it
indicates to you the format of all of the data in the C3D file. I
have attached a file (c3d.txt) that is the c3d file format created by
Andy Dainis of AMASS which outlines the file structure. You can find
this file with a number of other utilities that Andy Dainis wrote for
looking at C3D files - you can find these at the following ftp site
which happens to be the NIH Biomechanics website where you get MOVE3D:


The only special things that you should know that isn't completely
outlined is that MOVE3D was created to read files that are DEC VAX
formatted binary. Secondly the number of parameters in a file is not
indicated or fixed. I have included a note from VICON to indicate how
to read or stop-reading parameters!:

"Regarding the parameters, it is easy to get confused. The record
count you are referring to (byte 3 of the parameter section in the
file) actually indicates the number of 512 byte 'file' records
allocated to the entire parameters section. Because of a
mis-interpretation of this value, Vicon software prior to version 2.6
sometimes writes an incorrect value in here so it should not be relied
upon anyway.

There is no count stored for the number of parameters in each group
and, according to the original C3D specification, all group and
parameter records can appear in any order. This means that parameters
could even appear before the group that they are in. In practice,
Vicon always writes the data out with a group followed by all of its
parameters before going on to the next group.

The way to relate parameters to groups is by use of the group ID
number. Our documentation is rather unclear on this so you would be
better referring to the AMASS documentation from Andy Dainis (part 11,
section 2.3 of May 5, 1994 manual set). Group records have unique ID
numbers within the file which are stored as a negative value in byte
2. All parameters belonging to the group store the same ID as a
positive value, also in byte 2. Having found the group you are
interested in, you need to search through all the other records to
find the corresponding parameters with a matching ID. The end of the
parameter data section is found when the number of characters for the
group/parameter name (byte 1) is zero. One thing to note is that you
can't rely on the group ID being the same for the same group in
different files, or even successive saves of the same file, though in
practice, Vicon tends to use the same numbers."

With this information. The creation of a C3D file should not be a
problem. It is somewhat difficult to reverse engineer the file
structure without this information.

Regards and best of luck,

Alan Morris
Research Engineer - Gait Lab
Bloorview MacMillan Centre
350 Rumsey Road
Toronto, Ontario
Tel (416) 425-6220 x3508
Fax (416) 425-1634
email morrisa@ecf.utoronto.ca
I am quite interested in the issues you have raised. I used MOVE3D
during my graduate work with c3d files from a VICON system. I have
recently purchased a Peak Motus system and would like to use the same
routines I developed in MOVE3D to analyze my new data. I have
recently contacted Edmund Cramp, who knows a good bit about c3d files,
and he said he has worked on such a conversion (Motus output to c3d
format) but was slowed by the many file formats Peak uses. Please
send me a list of the specific file types from Motus (e.g. 3D data,
analog, etc.) you are interested in converting, and I will forward
this list to Edi to see what he might be able to do. Also, please keep
me posted on whatever else you hear and any progress you make.

Mark D. Geil, Ph.D.
Center for Human Movement Studies
Department of Health and Performance Sciences
Georgia Tech
Atlanta, Georgia 30332-0110
Phone: 404-894-9993
Fax: 404-894-7593
email: mark.geil@oip.gatech.edu
As you know, Motion Lab Systems has written and sells "C3dEditor" - a
program that support manipulation and editing of all the current C3D
file formats (DEC, PC, SGI with INT or FLOAT data). Recently been
asked by several people to produce a method of generating C3D files
from Peak data. We are looking at this right now and I expect to have
a method to do this within a few days. At Chris Kirtleys suggestion
we're probably going to modify the C3dEditor to accept column data
pasted in from another application - Excel seems to be the most

Since you're apparently already using the evaluation version of the
C3dEditor all you'd have to do would be download the new release when
we get the feature implemented.

If you'd like to send me a couple of the C3D file that you have
produced (the ones that aren't working) I'd be happy to have a look at
them and see if I can figure out where the problem is ...

Edmund Cramp,
Motion Lab Systems, Inc.
4326 Pine Park Drive,
Baton Rouge, LA 70809 USA
+1 225 928-4248 (voice, 2 lines) Note - New Area Code!
+1 225 928-0261 (fax)
My email address is eac@emgsrus.com
For information about Motion Lab Systems please visit our web site at
I am currently writing a piece of software to convert ASCII text files
in the format

video frame 1 marker1_x marker1_y marker1_z marker2_x marker2_y
marker2_z... video frame2.... ... analog sample 1 analog_channel1
analog_channel2... analog sample 2 ...

into c3D files (suitable for input into Oxford Metrics 'Bodybuilder'

The software is written in Visual Basic 5- it is at the final testing
stage and I hope to complete it this week, perhaps next, depending on
other commitments.

I am happy to make the executables available, or to share the source

Ben Heller (PhD), Clinical Engineer Medical Physics and Clinical
Engineering Royal Hallamshire Hospital Sheffield UK
You must be telepathic! This is exactly what I am trying to do at the
moment. I spent all of Sunday trying to write c3d format files using
MATLAB, and finally gave up! The binary is just too complicated - you
only have to make one small mistake and Vicon rejects it.

I've been in touch with Ed Cramp at MLS and he's presently having a go
at implementing a cut and paste function into his C3Deditor, which
will at least be a temporary solution. In the long run, as you say, it
would be nice to be able to import from a file, but he thinks this
will be a lot more tricky to implement.

There's also a small snag in that the price of the C3Deditor is

Dr. Chris Kirtley MD PhD
Dept. of Rehabilitation Sciences
The Hong Kong Polytechnic University
Hong Kong
Special Administrative Region of The People's Republic of China

Tel: +852 2766 6755 Fax: 2330 8656
Home: http://www.polyu.edu.hk/~rs/kirt/index.htm
PolyU Gait Lab: http://www.rs.polyu.edu.hk/gaitlab

Clinical Gait Analysis: http://www.polyu.edu.hk/cga
Thanks again to those who responded. Any further information or
responses would be most appreciated.



************************************************** **********************
Gerome Garthwaite
Biomechanics Post Graduate Student
University of Otago
School of Physical Education
PO box 56
New Zealand.
E-mail - ggarthwaite@pooka.otago.ac.nz
Phone (W) - 00 64 3 479 9117
(FAX)- 00 64 3 479 8309
************************************************** **********************

To unsubscribe send UNSUBSCRIBE BIOMCH-L to LISTSERV@nic.surfnet.nl
For information and archives: http://www.lri.ccf.org/isb/biomch-l