Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. The API is deliberately similar to Matlab's. Integer, floating point, and complex numbers are supported, as well as a subset of trigonometric and statistics functions. Various matrix decompositions are provided through optional integration with LAPACK and ATLAS numerics libraries. A delayed evaluation approach, based on template meta-programming, is used (during compile time) to combine several operations into one and reduce or eliminate the need for temporaries.
Biomechanical ToolKit (BTK) is a cross-platform library for biomechanical analysis. It can read and write a large variety of file formats used in biomechanics, and can modify them. All these operations can be done with the C++ API or with the wrappers included (Python, Octave, and Matlab). The goal of this project is to help the community share data without the restriction of the file format or the biomecanical model provided by the manufacturer of the acquisition system.
TooN is a very efficient numerics library for C++. The main focus of the library is efficient and safe handling of large numbers of small vector matrices and providing as much compile time checking as is possible. The library also works with large vectors and matrices and integrates easily with existing code. In addition to elementary vector and matrix operations, the library also providers linear solvers, matrix decompositions, optimization, and wrappers around LAPACK.
Libpointmatcher is a modular "Iterative Closest Point" library, useful for robotics and computer vision. This library is designed with modularity and performance in mind. It provides building blocks to construct various ICP chains often seen in research. These chains can be tuned without any recompilation, and new modules can be added without modifying the core of the library.
Mokka (MOtion Kinematics and Kinetics Analyzer) is a software solution for analyzing biomechanical data. It reads and writes C3D files and many other file formats, and allows you to visualize marker trajectories in 2D and 3D, and force platforms, segments, joint angles, forces, moments, and analog signals like EMGs.
Papyrus is a 2D C++ scenegraph (canvas) library that utilizes the cairo library to perform drawing operations. Similar canvas libraries are the Gnome Canvas, Diacanvas, and the QT Canvas. Numerous canvas primitives are available, including arcs, rectangles, polylines, and line markers. An optional companion library, Papyrusmm, provides a set of Gtkmm widgets which includes viewports (a canvas display widget similar to Gtk::DrawingArea) and other UI widgets related to drawing interfaces.