Skip to main content

Python interface of C3Dserver software for reading and editing C3D motion capture files.

Project description

PyC3Dserver

Python interface of C3Dserver software for reading and editing C3D motion capture files.

Description

PyC3Dserver is a python interace of C3Dserver using PyWin32.

Installation

PyC3Dserver can be installed from PyPI using pip on Python>=3.7.

pip install pyc3dserver

Prerequisites

C3Dserver x64 edition (for Windows x64 platforms) installation: https://www.c3dserver.com/

Usage

Most of numerical inputs and outputs for PyC3Dserver will be in the form of NumPy arrays. So let's import NumPy module.

import numpy as np

After the installation of PyC3Dserver, you can import it as follows:

import pyc3dserver as c3d

You can get the COM object of C3Dserver like this. You need to use this COM object while you are working with PyC3Dserver module.

# Get the COM object of C3Dserver
itf = c3d.c3dserver()

Then, you can open a C3D file.

# Open a C3D file
ret = c3d.open_c3d(itf, "sample_file.c3d")

Following functions are the most useful ones to extract the information from a C3D file. All the outputs are python dictionary types.

# For the information of header
dict_header = c3d.get_dict_header(itf)
# For the information of all groups
dict_groups = c3d.get_dict_groups(itf)
# For the information of all markers(points)
dict_markers = c3d.get_dict_markers(itf)
# For the information of all forces/moments
dict_forces = c3d.get_dict_forces(itf)
# For the information of all analogs(excluding or including forces/moments)
dict_analogs = c3d.get_dict_analogs(itf)

If you made any modification in the C3Dserver and want to save it, you need to use the following function explicitly.

# Save the C3D file from C3Dserver
ret = c3d.save_c3d(itf, "new_file.c3d")

After all your processes, it is recommended to close the C3D file from C3Dserver.

# Close the C3D file from C3Dserver
ret = c3d.close_c3d(itf)

Examples

There are more functions to get the information of individual markers and analogs. Also there are other functions for editing C3D files. You can find some examples here.

Limitations

PyC3Dserver tries to implement some useful functions using C3Dserver internally, but it does not cover full potential features of C3Dserver. You can develop your own functions using the COM object of C3Dserver in Python.

Dependencies

References

Python IDE recommendation

How to cite this work (all versions)

DOI

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyc3dserver-0.0.7.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

pyc3dserver-0.0.7-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file pyc3dserver-0.0.7.tar.gz.

File metadata

  • Download URL: pyc3dserver-0.0.7.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for pyc3dserver-0.0.7.tar.gz
Algorithm Hash digest
SHA256 f96cd9ebf1d0e37e65c33cf7f563551e3fc2e980012cb8ee4dab49e5357006e5
MD5 6f68c14db13a04ab0f4d0e796bd45cc9
BLAKE2b-256 377169d5c0f906a30cb55ecf8e68e13cf1e0eddec55e76139576b1576363aea2

See more details on using hashes here.

File details

Details for the file pyc3dserver-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: pyc3dserver-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for pyc3dserver-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 20ad16af51bfb0f0d76071d6161c204e90e5575b7cdd960cea72091f21b7edec
MD5 9b9ece0790aca2defd6a799561e46a5d
BLAKE2b-256 7c23632a6d5cff3df665b75322a46decdc4510b126acec3ff4c91b37760b2a80

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page