c3d

Read & write C3D mocap files

https://github.com/embodiedcognition/py-c3d

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.5%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Read & write C3D mocap files

Basic Info
  • Host: GitHub
  • Owner: EmbodiedCognition
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage: http://c3d.rtfd.org
  • Size: 313 KB
Statistics
  • Stars: 107
  • Watchers: 12
  • Forks: 49
  • Open Issues: 6
  • Releases: 4
Created about 15 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog License

README.rst

py-c3d
======

This is a small library for reading and writing C3D binary files. C3D files are
a standard format for recording 3-dimensional time sequence data, especially
data recorded by a 3D motion tracking apparatus.

Installing
----------

Install with pip::

    pip install c3d

Or if you'd like to use the bleeding-edge version, just clone the github
repository and build and install using the normal Python setup process::

    pip install git+https://github.com/EmbodiedCognition/py-c3d

Usage
-----

Tools
~~~~~

This package includes a script for converting C3D motion data to CSV format
(``c3d2csv``) and an OpenGL-based visualization tool for observing the motion
described by a C3D file (``c3d-viewer``).

Note for the viewer you need to install `pyglet`.
This can be done by installing the gui extra of py-c3d::

    pip install "c3d[gui]"

Library
~~~~~~~

To use the C3D library, just import the package and create a ``Reader`` or
``Writer`` depending on your intended usage

.. code-block:: python

    import c3d

    with open('data.c3d', 'rb') as handle:
        reader = c3d.Reader(handle)
        for i, (points, analog) in enumerate(reader.read_frames()):
            print('Frame {}: {}'.format(i, points.round(2)))

You can also get and set metadata fields using the library; see the `package
documentation`_ for more details.

.. _package documentation: http://c3d.readthedocs.org

Developer Install
~~~~~~~~~~~~~~~~~

To work on `c3d`, first install `poetry `_ and then run::

    git clone https://github.com/EmbodiedCognition/py-c3d
    cd py-c3d
    poetry install

This will create a new virtual environment with all the required dependency and `c3d` in develop mode.

Tests
~~~~~

To run tests available in the test folder, following command can be run from the root of the package directory::

    python -m unittest discover .

Test scripts will automatically download test files from `c3d.org`_.

.. _c3d.org: https://www.c3d.org/sampledata.html

Caveats
-------

This library is minimally effective, in the sense that the only motion tracking
system I have access to (for testing) is a Phasespace system. If you try out the
library and find that it doesn't work with your motion tracking system, let me
know. Pull requests are also welcome!

Also, if you're looking for more functionality than just reading and writing C3D
files, there are a lot of better toolkits out there that support a lot more file
formats and provide more functionality, perhaps at the cost of increased
complexity. The `biomechanical toolkit`_ is a good package for analyzing motion
data.

.. _biomechanical toolkit: http://code.google.com/p/b-tk/

Owner

  • Name: Embodied Cognition Lab @ UT Austin
  • Login: EmbodiedCognition
  • Kind: organization
  • Location: Austin, TX

GitHub Events

Total
  • Issues event: 1
  • Watch event: 2
  • Issue comment event: 6
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Pull request event: 1
  • Fork event: 2
Last Year
  • Issues event: 1
  • Watch event: 2
  • Issue comment event: 6
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Pull request event: 1
  • Fork event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 307
  • Total Committers: 13
  • Avg Commits per committer: 23.615
  • Development Distribution Score (DDS): 0.453
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
MattiasF m****1@h****e 168
Leif Johnson l****f@l****t 48
Leif Johnson l****f@l****m 37
Arne Küderle a****e@g****m 33
Claudio Hoffmann c****n@d****e 6
Ruben r****5@g****m 4
Charlie Hewitt c****t@c****e 3
Charlie Hewitt c****t@m****m 2
Félix Chénier f****x@f****m 2
Alistair Boyle a****e@g****m 1
Raymond Yeh e****d@g****m 1
Tzur, Yochay y****r@i****m 1
Leif Johnson l****3 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 30
  • Total pull requests: 23
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 2 months
  • Total issue authors: 26
  • Total pull request authors: 11
  • Average comments per issue: 2.33
  • Average comments per pull request: 1.61
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • AKuederle (3)
  • extraymond (3)
  • n2d7 (1)
  • peterjkirby (1)
  • hukaidong (1)
  • UFNym (1)
  • Peaj (1)
  • nghorbani (1)
  • mjhmilla (1)
  • JKbasara (1)
  • jaraujo98 (1)
  • iroupa (1)
  • yochaytz (1)
  • dukeduck1984 (1)
  • mohamedhassanmus (1)
Pull Request Authors
  • MattiasFredriksson (6)
  • AKuederle (4)
  • RvDijk (4)
  • friggog (2)
  • elishayer (2)
  • mrrezaie (2)
  • felixchenier (1)
  • extraymond (1)
  • boyle (1)
  • davidpagnon (1)
  • ClaudioHoffmann (1)
  • yochaytz (1)
Top Labels
Issue Labels
Bug (5) needs confirmation (5) new feature (2)
Pull Request Labels

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 7,220 last-month
  • Total docker downloads: 8
  • Total dependent packages: 5
    (may contain duplicates)
  • Total dependent repositories: 12
    (may contain duplicates)
  • Total versions: 12
  • Total maintainers: 4
pypi.org: c3d

A library for manipulating C3D binary files

  • Versions: 8
  • Dependent Packages: 5
  • Dependent Repositories: 12
  • Downloads: 7,220 Last month
  • Docker Downloads: 8
Rankings
Dependent packages count: 1.8%
Docker downloads count: 4.0%
Dependent repos count: 4.2%
Average: 4.7%
Downloads: 4.8%
Forks count: 6.1%
Stargazers count: 7.4%
Maintainers (3)
Last synced: 12 months ago
alpine-edge: py3-c3d

Read and write C3D mocap files

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 7.8%
Dependent packages count: 15.5%
Maintainers (1)
Last synced: 12 months ago
alpine-edge: py3-c3d-pyc

Precompiled Python bytecode for py3-c3d

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 7.8%
Dependent packages count: 15.5%
Maintainers (1)
Last synced: 12 months ago

Dependencies

docs/requirements.txt pypi
  • numpydoc *
  • sphinx-better-theme *
pyproject.toml pypi
  • numpy ^1
  • pyglet ^1.5.21
  • python ^3.7
.github/workflows/test-and-lint.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite