Introduction • Components • Installation • License
The c3d-api
repository is dedicated to motion capture data processing, particularly focused on .c3d
file interpretation, conversion of data formats, and preparation of datasets for machine learning applications. It features three main Python-based CLI applications, each addressing a specific aspect of motion capture data manipulation.
The C3D File Interpreter is a key component designed to extract and process data from .c3d
files used in motion capture systems. This tool focuses on:
- Data Extraction: Parsing the three segments (header, parameters, and data) of
.c3d
files to access motion capture data. - Selective Data Export: Enabling users to choose specific data sections (markers, virtual markers, modeled markers, angles, forces, moments, and power) for export.
- CSV Output: Converting and saving the selected data to
.csv
format for ease of use in applications like Microsoft Excel. - Specialized for Joint Angles: Primarily used for exporting joint angles as Cardan angles, facilitating detailed motion analysis.
This application bridges the gap between traditional angle representations and modern quaternion-based methods used in advanced motion analysis and machine learning:
- Cardan to Quaternion Conversion: Transforms Cardan angles from
.csv
files into quaternion sequences, a more robust representation for 3D rotations. - Utilization of Scipy Library: Leverages Scipy's scientific computing capabilities for accurate and efficient conversion processes.
- Structured Output: Produces a
.csv
file mirroring the structure of the input but with quaternion data, ensuring compatibility with subsequent processing stages.
A crucial tool for preparing machine learning datasets from motion capture data:
- Dataset Preparation: Generates training and validation datasets tailored for use in recurrent neural network models.
- Flexible Data Handling: Capable of processing output from both the C3D interpreter and the quaternion converter.
- Customizable Sequence Length: Allows users to define the sequence length
n
, essential for configuring datasets for specific machine learning models. - Output Files: Creates two
.csv
files – one for training and another for validation, formatted for direct use in neural network training environments.
-
Create a Conda Environment:
conda env create -f environment.yaml
-
Setup the Development Environment: Open the "app" folder in Visual Studio Code.
-
Activate the Python Interpreter: Use the command palette in VSCode (Ctrl + Shift + P) and select
Python: Select Interpreter
. Choose thec3d_api
environment.
This project is licensed under the MIT License - see the LICENSE file for details.
© 2023 Devision303. All rights reserved.
Igor Budzyński (Multiprice): GitHub • LinkedIn
Krzysztof Kocot (Pocot997): GitHub • LinkedIn
Mateusz Płonka (SmartMatt): Portfolio • GitHub • LinkedIn • YouTube • TikTok