Kinetics Toolkit v0.16.0 is out!
New Features
- Long overdue feature: `ktk.read_c3d()` now reads force platform information in addition to points, analogs, and rotations. It returns the force platforms' corners, their local coordinate systems, the centre of pressure, and the calibrated forces and moments expressed around both the force plate centre and the centre of pressure. More info: https://kineticstoolkit.uqam.ca/doc/files_read_c3d.html
- The `Player` can now draw vectors, in addition to points and frames, using its new `vectors` property. This will be very helpful for visualizing ground reaction forces or joint forces. More info: https://kineticstoolkit.uqam.ca/doc/player_vectors.html
- Geometry module: new helper functions to help create generalized coordinates. More info: https://kineticstoolkit.uqam.ca/doc/geometry_dimension_conventions.html
- `ktk.geometry.create_point_series()`
- `ktk.geometry.create_vector_series()`
- `ktk.geometry.create_transform_series()`
- `ktk.geometry.is_point_series()`
- `ktk.geometry.is_vector_series()`
- `ktk.geometry.is_transform_series()`
- Geometry module: now supports conversions between quaternions and transforms, which will be helpful when using inertial measurement units (IMUs) or rigid body orientation measured by mocap systems:
- `ktk.geometry.create_transform_series()` - supports quaternions
- `ktk.geometry.get_quaternions()`
- Geometry module: new function `ktk.geometry.mirror()` that flips all coordinates along a given axis (x, y, or z).
Improvements
- The `Player` now uses true read/write properties for `interconnections` and the new `vectors` property, which means we can now interconnect points or define vectors directly on the properties, without the longer get/modify/set workflow.
- `TimeSeries.add_data()` now repeats one-sample data over the entire TimeSeries range, which facilitates adding time-constant values to the TimeSeries.
- Reading and writing c3d files requires the `ezc3d` module, which was installed by default using `conda` but not using `pip` since it was not available on `pip` until recently (thanks to pariterre). Now that it is, `ezc3d` is now automatically installed using `pip install kineticstoolkit`.
- The whole code base and documentation website has been checked for typos and grammar errors.
Notes
- Geometry module: the functionality of `ktk.geometry.create_frames()` and `ktk.geometry.create_transforms()` has been merged into the new `ktk.geometry.create_transform_series()` function. Both functions are still present and are not deprecated yet, but they will become deprecated when KTK v1.0 is released, and then removed two years later.
**Full Changelog**: https://github.com/kineticstoolkit/kineticstoolkit/compare/0.15.0...0.16.0