No announcement yet.

Summary of Replies: C3D editing software

This topic is closed.
  • Filter
  • Time
  • Show
Clear All
new posts

  • Summary of Replies: C3D editing software

    Biomch-L Readers

    I have put together all the responses to C3D editing software. Thank
    you for all who replied.


    Stephen Poon
    Biomechanics Officer - ASPIRE
    P.O. Box 22287, Doha - Qatar
    Tel: (+974) 413 6172 ; Fax: (+974) 413 6160

    Dear Stephen,

    I would like to inform you that based on BTK, a new software named
    Mokka permits to vizualise and edit biomechanical data in 3D (C3D and
    TRC file at this moment).

    In this alpha release, Mokka display markers, force platform geometry,
    ground reaction forces. You can pick markers, choose their size/color.
    Events (Foot strike, Toe Off, ...) are also listed and the
    corresponding frame can be selected.

    The next step will add the possibility to edit biomechanical data
    (marker's label/description, remove/reorder marker/analog channels,
    edit parameters).

    You can find the Windows binary at this adress:

    You can also fin its user guide here:


    Arnaud Barré


    While it is not a standalone piece of software, I found the matlab
    toolbox c3dServer ( very
    useful when trying to manage c3ds from multiple sources. It comes
    with a thorough readme and if you are familiar with matlab's (or any
    object oriented) structure variables, it is fairly straight forward.

    I hope this is of use to you


    James Coburn
    MDFP Fellow
    Division of Chemistry and Material Science
    Silver Spring, MD

    Hi Stephen

    You don't mention what sort of differences in the C3D files written by
    different systems you are trying to reconcile. But if you need to edit
    the individual idiosyncracies of particular systems' implementations of
    the C3D 'convention', then the most flexible way would be to use the
    free version of the C3D Server called from custom code, eg written in
    Some Matlab example code here (from Shriners Hospitals for Children in
    Pennsylvania) ...
    We, and many other labs, have also written Matlab code to use the C3D
    Server in similar fashion.



    Tim Wrigley
    Director - Movement Research Laboratories
    School of Physiotherapy
    University of Melbourne

    Hi Stephen,

    We have worked with C3D files and find the following Matlab codes very
    useful for manipulating the files. You can also use these programs
    along with some self written code to change C3D files into other

    Good Luck,

    Anne Schmitz

    Pre-dissertation PhD Student Biomedical Engineering

    UW Madison

    Dear Stephen Poon,

    A low cost software is C3d Editor, from Motion Lab Systems.

    Best Regards,

    Wagner de Godoy
    HIAE - Brazil

    Dear Stephen,

    I'm the main developer of a C++ library name BTK (Biomechanical
    ToolKit) which can import/export C3D files. This library reads all C3D
    files proposed on the website and also accept corrupted
    C3D files (no parameter section, bad number of blocks, etc.).
    This library has also Matlab wrapping functions packaged as a Matlab
    toolbox named btk.

    It is an open-source project with a New BSD license. This library is
    cross-platform and was tested with MacOS Leopard, Windows XP and Linux
    Ubuntu Jaunty. Matlab versions accepted are between Matlab 7.0.4
    (R14SP2) and 7.8 (R2009a).

    The website of BTK is:

    There is also an experimental branch to visualize acquisition data
    with VTK and Qt. There is not yet a GUI to edit C3D files.

    For Matlab users, it is really easy to import C3D files into Matlab,
    modify them, and export them as new files.
    For example:
    % Read a C3D file
    % Return an acquisition as a handle
    acq = btkReadAcquisition('myFile.c3d');
    % return a structure with all points. Each fields of the structure
    % corresponds to points' label.
    points = btkGetPoints(acq);
    % ... Use this structure as you want.
    % Compute Ground reaction forces from force platforms data.
    % The value 5.0 is a threshold value on vertical GRF to no to compute
    the point of wrench application.
    GRWs = btkGetGroundReactionWrenches(acq, 5.0);
    % Write GRWs into the acquistion.
    for i = 1:length(GRWs)
    btkAppendPoint(acq, 'MARKER', ['GroundReactionPosition', num2str(i)],
    btkAppendPoint(acq, 'FORCE', [GroundReactionForce', num2str(i)], GRWs(i).F);
    btkAppendPoint(acq, 'MOMENT', ['GroundReactionMoment', num2str(i)], GRWs(i).M);
    % Write a new C3D file.
    btkWriteAcquisition(acq, 'myFileWithGRWs.c3d')
    % There is also functions to get/set analog channels.
    % Use the command 'help btk' for more informations.



    Dear Steven,

    C3D is the common public file format supported by virtually all 3D
    Motion Capture systems - a history of the file format and full C3D
    documentation can be downloaded from as well as
    user written applications, demonstrations of commercial C3D
    applications, and a large library of sample C3D files from different
    laboratories and motion capture systems.

    We offer two C3D editing software solutions that run under the
    Microsoft Windows and should run on Linux/BSD systems using emulators
    such as WINE - these are:

    C3Deditor - $495 for a site license. This software allows you to do
    almost any kind of edit function imaginable on a C3D file as well as
    filter/interpolate C3D data and create, modify, and delete C3D
    parameters. It opens all C3D variants (REAL / INTEGER / PC / SGI /
    DEC files) and will convert and save all of these types to whichever
    C3D file type that you need. It will also rescale REAL formatted C3D
    files to convert them safely to INTEGER C3D files without problems.
    The C3Deditor can be run in a batch mode to convert multiple C3D files
    and can perform complex repetitive edits automatically whenever a C3D
    file is opened. It would have no problems opening C3D files from many
    different systems and converting the files to a single common format.

    C3D File Editor - free. This is a simple C3D file editor that is
    supplied with the C3Dserver. It includes the full source code for the
    editor (written in Visual Basic) so additional features can be added
    if desired. The C3Dserver is a DLL that provides full access to the
    C3D file format and is available in two versions. The free version of
    the C3Dserver is identical to the full version ($495 for a site
    license) except that each call to the C3Dserver incurs a small (5ms)
    delay that does not exist in the licensed version. Thus the supplied
    C3D File Editor is fully functional with the free version of the
    C3Dserver but will run much faster with the licensed version.

    It's worth noting that the C3Dserver allows MATLAB users to read and
    write C3D files - so a MATLAB user working with the C3Dserver would be
    able to open C3D files from multiple motion capture systems in any of
    the supported C3D file formats without problems. Similar programs
    could be written using Visual Basic, C#, C++, Java, or in any language
    or application that supports the Microsoft DLL environment.

    Our software licenses are all "site" licenses - so when a laboratory
    purchases a copy of our software it can be installed and run on any
    number of computers within the laboratory without limit. We feel that
    this form of licensing makes our software available at a reasonable
    cost, it reflects how software is actually used within the
    biomechanics and animation environment and eases the installation and
    subsequent tracking of installed software.

    We also offer a free program called the MLSviewer that displays the
    contents of the C3D file and allows you to examine both the data and
    parameters within the C3D file in detail. All of the software
    described here can be downloaded from our web site at

    Edmund Cramp -
    Motion Lab Systems, Inc. -
    15045 Old Hammond Highway, Baton Rouge, LA 70816 USA
    Tel: (Central Time Zone, GMT-6)