scikit-kinematics - Documentation — skinematics 0.7.7 documentation

# 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
  - spatial transformation matrices
  - Denavit-Hartenberg transformations
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

In addition, the packages includes the general module

misc Mainly GUI-functions for directory- and file selection etc.

Interactively analyze time-series data.

Visualize 3D orientations.

## Installation

The simplest way to install skinematics is a two-step process

    >>> pip install scikit-kinematics

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

## Upgrading

For upgrading to the latest version, you have to type

    >>> pip install --upgrade --no-deps scikit-kinematics

Warning: Do not use pip install scikit-kinematics -U, since that command also upgrades dependencies such as numpy. This can break e.g. WinPython, since the numpy-version including MKL may be replaced by one without MKL.

### Dependencies

numpy, scipy, matplotlib, pandas, sympy

## 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

## Modules

- IMUs
  - Base-Class & Methods
  - Classes and Functions for Sensor-Integration
  - Details
  - Sub-classing IMU-Base for your own sensor type
  - Existing Sensor Implementations
  - x-io NGIMU
- misc
  - Functions
  - Details
- Quaternions
  - Quaternion class
  - Functions for working with quaternions
  - Conversion routines
  - Details
- Rotation Matrices
  - Definition of rotation matrices
  - Conversion Routines
  - Symbolic matrices
  - Spatial Transformation Matrices
  - Denavit-Hartenberg Transformations
  - Details
- Markers
  - Functions
  - Details
- Vectors
  - Functions
  - Details
- Data-Visualization
  - Functions
  - Class
  - Details

## Indices and tables

- Index
- Module Index
- Search Page

Note

Author: Thomas Haslwanter
Version: 0.7.7
Date: May 2018
email: thomas.haslwanter@fh-linz.at
Copyright (c): 2018, Thomas Haslwanter. All rights reserved.
Licence: This work is licensed under the BSD 2-Clause License