scikit-kinematics - Documentation ================================= *scikit-kinematics* is a library for scientific data analysis, with a focus on 3d kinematics. It is hosted under https://github.com/thomas-haslwanter/scikit-kinematics, and contains the following modules: *imus* Analysis routines for IMU-recordings - calculation of orientation from velocity, recorded with IMUs or space-fixed systems (four different algorithms are implemente here: - simple quaternion integration - a quaternion Kalman filter - Madgwick's algorithm - Mahony's algorithm - calculation of position and orientation from IMU-signals - The sub-directory *sensors* contains utility to import in data from *xio*, *XSens*, and *yei* system *markers* Analysis routines for 3D movements from marker-based video recordings - a function that takes recordings from video-systems (e.g. Optotrak) and calculates position and orientation - calculation of joint movements from marker recordings *quat* Functions for working with quaternions: - quaternion multiplication, inversion, conjugate - conversions to rotation matrices, axis angles, vectors - a *Quaternion* class, including operator overloading for multiplication and division - also work on data arrays *rotmat* Functions for working with rotation matrices - rotation matrices for rotations about the x-, y-, and z-axis - symbolic rotation matrices - conversions to Euler, Fick, Helmholtz angles *vector* Functions for working with vectors - angle between vectors - Gram-Schmidt orthogonalization - projection - normalization - rotation - also work on data arrays *view* Visualization of time-series data, and of 3D orientations .. figure:: _static/viewer_large.png :scale: 35% Interactively analyze time-series data. .. figure:: _static/orientation_viewer.png :scale: 25% Visualize 3D orientations. Installation ------------ The simplest way to install *skinematics* is a two-step process >>> pip install git+https://github.com/thomas-haslwanter/easygui >>> pip install scikit-kinematics (The first step is required since the current PyPi version of *easygui* is not Python 3 compatible.) For upgrading to the latest version, you have to type >>> pip install scikit-kinematics -U However, you can also install from the source files. To do this, just go to the root directory of the package, and type >>> python setup.py install **Note**: After *skinematics* is installed, I typically import it in *Python* with: >>> import skinematics as skin Dependencies ^^^^^^^^^^^^ numpy, scipy, matplotlib, pandas, sympy, easygui Testing ------- The easiest way to test the package is with *unittest*. Open a terminal, and type (on the command-line!): >>> cd [_your_installation_dir_]\skinematics\tests >>> python -m unittest **Note for Python 2.7.x**: While Python 3.x includes automatic test discovery, this has to be requested explicitly for *Python 2.7.x*: >>> python -m unittest discover Modules ------- .. toctree:: :maxdepth: 2 quat rotmat imus markers vector view Indices and tables ------------------ * :ref:`genindex` * :ref:`modindex` * :ref:`search` .. note:: | *Author:* Thomas Haslwanter | *Version:* 0.4.4 | *Date:* July 2017 | *email:* thomas.haslwanter@fh-linz.at | *Copyright (c):* 2017, Thomas Haslwanter. All rights reserved. | *Licence:* This work is licensed under the `BSD 2-Clause License `_