Skip to main content

Easy to use package to work with BVH (BioVision Hierarchy) files.

Project description

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!

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

bvhtools-1.6.0.tar.gz (7.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bvhtools-1.6.0-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

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

Hashes for bvhtools-1.6.0.tar.gz
Algorithm Hash digest
SHA256 840c67a4d94c4c4732d1a729eac0ba6b0cad7c334aed2773ea2ff15ffe64c144
MD5 e51e48b9ef46e78adc66bc8d4648a798
BLAKE2b-256 985fbc8f6c38893f89b46e30a163f1afda600f1bd35676032a3d75d815f606e4

See more details on using hashes here.

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

Hashes for bvhtools-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f34c5403485741afd4535e004bd49f4983727f7530ce56b8bae1bf0f2fc92c8
MD5 49ac8ed432a4a6c9e6cfb1e484603104
BLAKE2b-256 7ebb84b48e27a75dd80e45bf285b9bec058b063cda45a6a07e70329a94ad74be

See more details on using hashes here.

Supported by

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