Skip to main content

A package that handles bvh files in python. You can read, write, and modify your bvh files among other useful tools.

Project description

bvhsdk logo

Description:

bvhsdk is a small but versatile Python library designed for the management of BVH (Biovision Hierarchy) files commonly used in animation and motion capture. This library offers a comprehensive set of tools to read, write, and extract valuable information from BVH animations. Whether you're a computer graphics artist, animator, researcher, or developer, bvhsdk simplifies your BVH file-handling needs.

Key Features:

  • BVH File I/O: Easily read BVH files into Python data structures or write modified animations back to BVH format.

  • Animation Data Extraction: Extract information from BVH files, such as joint hierarchies, frametime, and motion capture poses. Access motion data for further analysis or manipulation, such as local and global positions, rotation, and translation.

  • Manipulation Tools: Modify BVH animations programmatically. Use bvhsdk to implement algorithms for retargeting animations, blending motions, or smoothing trajectories.

  • Data Visualization: Visualize BVH animations with a GUI tool for representations of motion data (work in progress). Plot animations inside Jupyter Notebook.

3d plot notebook gif

Use Cases

  • Education: Study, test and gain practical experience with several fundamental methods and concepts of 3D math for animation such as Euler angles, matrices and transformations, local and global coordinate systems, among others.

  • Motion Capture Analysis: Extract valuable insights from motion capture data for research, biomechanics, or character animation improvements.

  • Data Science: Utilize motion data extracted from BVH files for machine learning, data analysis, or pattern recognition applications.

  • Game Development: Incorporate BVH animations into video games for realistic character movements and interactive experiences.

Featured in

  • Tonoli, R. L., Marques, L. B. D. M. M., Ueda, L. H., & Costa, P. P. D. (2024). Gesture Area Coverage to Assess Gesture Expressiveness and Human-Likeness. In GENEA: Generation and Evaluation of Non-verbal Behaviour for Embodied Agents Workshop 2024.

  • Sanchez, J. I. G., Inofuente-Colque, K., Marques, L. B. D. M. M., Costa, P. P. D. & Tonoli, R. L. (2024). Benchmarking Speech-Driven Gesture Generation Models for Generalization to Unseen Voices and Noisy Environments. In GENEA: Generation and Evaluation of Non-verbal Behaviour for Embodied Agents Workshop 2024.

  • Tonoli, R. L., Marques, L. B. D. M. M., Ueda, L. H., & Costa, P. P. D. (2023). Gesture Generation with Diffusion Models Aided by Speech Activity Information. In GENEA: Generation and Evaluation of Non-verbal Behaviour for Embodied Agents Challenge 2023.

  • Tonoli, R. L. (2019). Motion retargeting preserving spatial relationship: Transferência de movimentos preservando relação espacial (DISSERTAÇÃO Mestre em Engenharia Elétrica). Campinas, SP.

  • Tonoli, R. L., Costa, P. D. P., & De Martino, J. M. Signing Avatar in Virtual Reality: An Intelligibility Study.

Project Disclaimer

Note: This project is a work in progress and has been primarily developed by a single contributor. As a result, it may currently lack documentation, contain sections of code that are not fully optimized and include remnants from its origins as part of another project.

We appreciate your understanding and patience as we continue to improve and refine this project. We are actively working to address these issues and make the codebase more organized and accessible. If you have expertise in this area or are interested in contributing, your assistance would be greatly appreciated. You can check how you can contribute and some of the interesting improvements below. Together, we can make this project even better!

Thank you for your interest and support.

Contribute

Want to contribute? Feel free to create pull requests, issues, or emails. Here are some major improvements that would greatly benefit bvhsdk:

  • Support for all rotation orders; currently, only ZXY is fully supported.
  • Documentation: help document every function and provide some examples when needed.
  • Code: standardize code, such as variables and function names.
  • Mathutils: include other representations of rotations and convertions between them, such as quaternions and axis-angle.
  • GUI: improve current visualization; develop other visualizations, such as hierarchy, foot contact, velocity and acceleration plots; overall toolkits for visualization.
  • Skeleton Map: include fingers; include other skeletons standards; create an option for reading and writing skeleton map.

Contact

If you have any questions or suggestions, please contact us via: rltonoli@gmail.com

Citation

If you find this library useful, please cite this master's thesis:

@mastersthesis{tonoli2019motion,
  title={Motion retargeting preserving spatial relationship: Transfer{\^e}ncia de movimentos preservando rela{\c{c}}{\~a}o espacial},
  author={Tonoli, Rodolfo Luis},
  year={2019},
  school={Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação},
  address={Campinas, SP}
  url={https://hdl.handle.net/20.500.12733/1639986}
}

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

bvhsdk-0.2.1.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

bvhsdk-0.2.1-py3-none-any.whl (69.5 kB view details)

Uploaded Python 3

File details

Details for the file bvhsdk-0.2.1.tar.gz.

File metadata

  • Download URL: bvhsdk-0.2.1.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for bvhsdk-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4a4c2d74ab8132525b0583e5f264df4495b04f3f30df0b9ba5ad26417a5b3225
MD5 7d61c720119330df3e4933951d7db64c
BLAKE2b-256 f072c0e02db21e8e6545b1a8aea6c763ec937cf5e6d1e6e619fd2d8ae2e3aa71

See more details on using hashes here.

File details

Details for the file bvhsdk-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: bvhsdk-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 69.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for bvhsdk-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c3d0b6db121a74fa542f84ff733db8246505f280face5ee61a2e0f3b60ed87a1
MD5 5f21cae53eaa10e44cf4cf0f5c22bbd9
BLAKE2b-256 34b555d7b58d89575a27b37d8ca9ac5676c1650b96987e974d243d720142c9e5

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