bvhTools is a Python library to work with BVH (Biovision Hierarchy) files. It enables to load, modify and write BVH files in very few lines of code. This project is being developed in the context of a phD, so the library contains many BVH operations that I need to make often.
🌟 Functionalities
- 📖/✏️ Reading and writing BVH files
- 🏃 Performing Forward Kinematics
- 🤚 Manipulating animations (moving, rotating, mirroring)
- 🤸 Resampling and editing animations
- 🔪 Slicing (dividing and joining)
- 💀 Editing the skeleton
- 👀 Viewing animations
- 📊 Calculating metrics
- 📐 Converting between angle representations
- 📋 Writing data to CSV files
- 🖥️ CLI interface functions
📋 Documentation
The documentation to use this library can be found here.
🧰 Installation
To install and use bvhTools, just install it with pip.
pip install bvhTools
The python package is still work in progress, so it may have some problems. In that case, you can open an issue or a pull request on GitHub.
If you find bvhTools useful, please give it a star! :)
🗺️ Roadmap
| Functionality | Status |
|---|---|
| Read / Write | 🟢 Completed |
| Forward Kinematics | 🟢 Completed |
| Basic visualization with matplotlib | 🟢 Completed |
| Slice / Join animations | 🟢 Completed |
| Rotate animations | 🟢 Completed |
| Move animations | 🟢 Completed |
| Skeleton Standing on floor | 🟢 Completed |
| Write to CSV | 🟢 Completed |
| Scale skeletons | 🟢 Completed |
| Remove limbs | 🟢 Completed |
| Print skeleton and motion summary | 🟢 Completed |
| Get hierarchy and joint information | 🟢 Completed |
| Metrics: speeds, accelerations, jerks | 🟢 Completed |
| Metrics: average speeds, accelerations, jerks | 🟢 Completed |
| Metrics: average pose | 🟢 Completed |
| Metrics: foot contact masks | 🟢 Completed |
| CLI functions for simple and fast editing | 🟢 Completed |
| Convert Scipy angles to 6D representation | 🟢 Completed |
| Resampling FPS (upsample, downsample by weighted average) | 🟢 Completed |
| Advanced visualization with raylib | 🟢 Completed |
| Mirror Skeletons | 🟢 Completed |
| Documentation | 🔄 Continuous |
| Edit rest pose | 🐣 Planned |
| Metrics: spectral analysis and fast fourier transform | 🐣 Planned |
| Metrics: foot sliding masks | 🐣 Planned |
| Machine learning pipeline integration | 🧑💻 Active |
| - ML pipeline: automatic dataset loading | 🧑💻 Active |
| - ML pipeline: data normalization | 🧑💻 Active |
| - ML pipeline: attaching labels | 🧑💻 Active |
| - ML pipeline: attaching other data modalities | 🐣 Planned |
| - ML pipeline: windowing and lazy views | 🧑💻 Active |
| - ML pipeline: data splits | 🧑💻 Active |
| - ML pipeline: pytorch integration | 🧑💻 Active |
| - ML pipeline: materializing datasets | 🧑💻 Active |
Feel free to suggest more functionalities that you think might be helpful! Code contributions are also welcome!
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bvhtools-1.6.0.tar.gz.
File metadata
- Download URL: bvhtools-1.6.0.tar.gz
- Upload date:
- Size: 7.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
840c67a4d94c4c4732d1a729eac0ba6b0cad7c334aed2773ea2ff15ffe64c144
|
|
| MD5 |
e51e48b9ef46e78adc66bc8d4648a798
|
|
| BLAKE2b-256 |
985fbc8f6c38893f89b46e30a163f1afda600f1bd35676032a3d75d815f606e4
|
File details
Details for the file bvhtools-1.6.0-py3-none-any.whl.
File metadata
- Download URL: bvhtools-1.6.0-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f34c5403485741afd4535e004bd49f4983727f7530ce56b8bae1bf0f2fc92c8
|
|
| MD5 |
49ac8ed432a4a6c9e6cfb1e484603104
|
|
| BLAKE2b-256 |
7ebb84b48e27a75dd80e45bf285b9bec058b063cda45a6a07e70329a94ad74be
|