Extracting force plate information from C3D files

This document is a copy of C.L. (Kit) Vaughan's Biomch-L posting on the extraction of force plate variables from C3D (Vicon) data files.

The two documents mentioned in the posting are available here as PDF files:

Date:         Fri, 5 Feb 1999 11:14:02 SAST-2
From:         Kit Vaughan 
Subject:      Summary: C3D and force plates

Dear Biomch-L Colleagues
A few days ago I posted a request for extracting force plate data from
C3D files and I had a very positive response. I'd like to thank all
those who responded (including a few people with whom I'd not been in
touch for a while!).  I will do the following:

(1)  Repeat my original request below.

(2)  Summarise the relevant responses that I received, including the
     person's e-mail address.

(3)  Place two portable document files (PDF), one on AMTI plates,
     and the other on Kistler plates on my department's FTP server:


     in subdirectory  /home/ftp/pub/FTP

     These two PDF files can be viewed and printed with Adobe's
     Acrobat Reader software which is freely available from:


I apologise for not attaching these files but BIOMCH-L won't accept
messages over 1000 lines long. The files are the best way to make the
relevant information, including detailed diagrams, available to
end-users. Perhaps the ISB website may be interested in archiving the
two files?

Thanks again for your help -- most appreciated!

Kit Vaughan
University of Cape Town


Original request:

This question is aimed at those of you who use the C3D file format
(created by Andy Dainis and used by Oxford Metrics, among other
companies). I wish to extract the following force plate data from a
few hundred of my C3D files:

FX (in Newtons)
FY (in Newtons)
FZ (in Newtons)
dX (in metres)
dY (in metres)
TZ (in Nm)

where: F refers to the force applied by the plate on the patient's
foot, and XYZ are the laboratory coordinate system directions; dX and
dY are the coordinates of the point of application of the resultant
force relative to the laboratory origin; and TZ is the torque applied
by the plate to the patient's foot about the Z (vertical) axis.

My immediate need is for C3D files containing Kistler data, but it
would also be good to have the algorithms for AMTI plates too. When
you extract raw force plate data from Vicon-generated C3D files (using
a tool such as RData2 from Edmund Cramp of Motion Lab Systems), the
values provided are for just the corner transducer forces (e.g. X13,

Now I need to know how to convert these data to useful values as
indicated above (i.e. points of application and torque about the
vertical axis). While I could certainly "reverse engineer" this one,
based on the other info provided in the C3D file (such as positions of
the transducers relative to the force plate centre, and the location
of the force plate in the laboratory coordinate system), I am in a
hurry and I would rather not re-invent the wheel if someone out there
has the info handy and would be prepared to share it with me.

I look forward to your response.  Many thanks!



(1)  mailto: christian.calame@kistler.ch

Christian Calame of Kistler in Switzerland provided an excellent
document (Microsoft Word) which I have converted to KISTLER.PDF and
placed on the FTP server. If you are using a Kistler plate, then this
document is a must!

(2)  mailto: rschmidt@hia.rwth-aachen.de

Ralf Schmidt of Aachen in Germany sent a MatLab function which
essentailly implemented some of the algorithms contained in
KISTLER.PDF. He commented that the distance between the transducers (a
and b) differed from the values provided by the manufacturer

(3)  mailto: morrisa@ecf.utoronto.ca

Alan Morris of Toronto, Canada mentioned that he had developed a
MatLab routine for reading C3D files. This was part of a Biomch-L
discussion about six months ago. His code is freely available on Edi
Cramp's ftp server:


Alan offered to tailor his code to extract the force plate data in the
format that I needed.

(4)  mailto: adainis@hardynet.com

Andy Dainis, the originator of the C3D file format, who lives in West
Virginia, USA, mentioned that his program called ADG would do
essentially what I needed in an interactive mode. It would assume that
all the necessary force plate parameters (origin, corners, etc.) were
stored in the C3D files.

(5)  mailto: b.a.macwilliams@m.cc.utah.edu

Bruce MacWilliams of Utah in the USA, offered to help with some C code
which he had recently written to extract force and centre of pressure
data from C3D files. He warned that the code may not be that elegant!

(6)  mailto: b.heller@sheffield.ac.uk

Ben Heller of Sheffield in the UK provided me with essentially
the same algorithms as Christian Calame and Ralf Schmidt (obviously
for the Kistler plate).

(7)  mailto: gideon@arielnet.com

Gideon Ariel of California, USA mentioned that he was working with
Andy Dainis to enhance the APAS code so that it could read in C3D
files. He offered to modify APAS so that it could output files in the
format that I needed.

(8)  mailto: dger@uottawa.ca

Gord Robertson of Ottawa, Canada told me that the algorithms that I
needed for the Kistler were in the second edition of Biomechanics of
the Musculo-skeletal System by Nigg and Herzog (John Wiley and Sons,
1999). Since I had just received a copy of this book, I checked it out
and the information is on pages 271 to 280. Highly recommended!

(9)  mailto: jplowman@pooka.otago.ac.nz

Jamie Plowman of Otago in New Zealand said that he had been doing the
reverse of what I needed: creating C3D files for input to the NIH's
package called MOVE3D. He offered to help, particularly with checking
whether my algorithms were working.

(10) mailto: aacd.labmarcha@aacd.org.br

Wagner de Godoy of Brazil provided me with some absolutely vital
information. He faxed me a copy of the relevant pages from the AMTI
manual and this information serves as the basis of the AMTI.PDF file I
have put on the FTP server. Wagner also drew my attention to the
relevant pages in the Vicon370 manual -- which goes to prove: when in
doubt, read the manual!

Well, that's it folks.  Thanks again.


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

Last updated: March 18, 1999 by bogert@bme.ri.ccf.org

Back to ISB software page