Metadata-Version: 2.4
Name: rigid-body-motion
Version: 0.9.3
Summary: Python utilities for estimating and transforming rigid body motion.
Project-URL: Homepage, https://github.com/phausamann/rigid-body-motion
Author-email: Peter Hausamann <peter.hausamann@tum.de>
License-Expression: MIT
License-File: AUTHORS.rst
License-File: LICENSE
Keywords: rigid_body_motion
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Requires-Dist: anytree
Requires-Dist: numpy
Requires-Dist: numpy-quaternion
Requires-Dist: scipy
Provides-Extra: all
Requires-Dist: matplotlib; extra == 'all'
Requires-Dist: netcdf4; extra == 'all'
Requires-Dist: numba; extra == 'all'
Requires-Dist: pandas; extra == 'all'
Requires-Dist: pooch; extra == 'all'
Requires-Dist: xarray; extra == 'all'
Description-Content-Type: text/x-rst

.. image:: https://github.com/phausamann/rigid-body-motion/actions/workflows/build.yml/badge.svg
        :target: https://github.com/phausamann/rigid-body-motion/actions/workflows/build.yml

.. image:: https://readthedocs.org/projects/rigid-body-motion/badge/?version=latest
        :target: https://rigid-body-motion.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://img.shields.io/pypi/v/rigid-body-motion.svg
        :target: https://pypi.python.org/pypi/rigid-body-motion

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
        :target: https://github.com/psf/black


=================
rigid-body-motion
=================

Python utilities for estimating and transforming rigid body motion.


Documentation: https://rigid-body-motion.readthedocs.io


Overview
--------

This package provides a high-level interface for transforming arrays
describing motion of rigid bodies between different coordinate systems and
reference frames. The core of the reference frame handling is a fast
re-implementation of ROS's ``tf2`` library using ``numpy`` and
``numpy-quaternion``. The package also provides first-class support for
xarray_ data types.

.. _xarray: https://xarray.pydata.org

Installation
------------

rigid-body-motion can be installed via ``pip``:

.. code-block:: console

    $ pip install rigid-body-motion

or via ``conda``:

.. code-block:: console

    $ conda install -c phausamann -c conda-forge rigid-body-motion

Highlights
----------

rigid-body-motion makes it possible to:

* Construct trees of static and moving reference frames
* Lookup transforms and velocities across the tree
* Seamlessly transform positions, orientations and velocities across the tree
* Estimate transforms from motion data
* Transform data into different coordinate representations
* Import data from common motion tracking systems
* Visualize reference frames and motion data with matplotlib or RViz
* ... and more!

Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
