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 inteface 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.

And PyC3Dserver is under heavy development so that many things may change during this period.

Dependencies

References

Python IDE recommendation

Acknowledgement

This work was funded by the European Union's Horizon 2020 research and innovation programme (Project EXTEND - Bidirectional Hyper-Connected Neural System) under grant agreement No 779982.

How to cite this work

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.2.0.tar.gz (28.8 kB view details)

Uploaded Source

Built Distribution

pyc3dserver-0.2.0-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyc3dserver-0.2.0.tar.gz
  • Upload date:
  • Size: 28.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for pyc3dserver-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a4a7a3606356a66d24d09fb8e23c3e37038a9ab9fcb6efc7bfb591dab114375a
MD5 791ee98054189a0e355ecb487dfd8a43
BLAKE2b-256 70c09be04677ffcad95dbc4f72de87b1c45741ced388fbb3ed5c97ad289b9733

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyc3dserver-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

File hashes

Hashes for pyc3dserver-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97f69461f800f00b12bf203ffdb5226915d91b53efee78f7a89cfad58d7c4572
MD5 c9087a4b8359ec8c280db55da99cf410
BLAKE2b-256 2b3d066e80444f57267697939c9c5e15d3afb6332db15e13978699aef93e0a10

See more details on using hashes here.

Supported by

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