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!
Metadata
Release files for bvhTools 1.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bvhtools-1.6.0.tar.gz | 7.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bvhtools-1.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.9 MB
Release files / bvhtools-1.6.0.tar.gz
| Download URL | bvhtools-1.6.0.tar.gz |
|---|---|
| Size | 7.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
840c67a4d94c4c4732d1a729eac0ba6b0cad7c334aed2773ea2ff15ffe64c144
|
|
BLAKE2b-256 checksum How to use checksums |
985fbc8f6c38893f89b46e30a163f1afda600f1bd35676032a3d75d815f606e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / bvhtools-1.6.0-py3-none-any.whl
| Download URL | bvhtools-1.6.0-py3-none-any.whl |
|---|---|
| Size | 31.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4f34c5403485741afd4535e004bd49f4983727f7530ce56b8bae1bf0f2fc92c8
|
|
BLAKE2b-256 checksum How to use checksums |
7ebb84b48e27a75dd80e45bf285b9bec058b063cda45a6a07e70329a94ad74be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|