
b-tk
News
February 17, 2014 Peer-reviewed article for Biomechanical ToolKit We have the pleasure to announce you that a peer-reviewed article is now available for BTK and Mokka. This paper can be used to cite the project in your study. January 9, 2014 Python package for BTK 0.3 released The Python binding of BTK 0.3 is available in the PythonBinaries page. The package for Linux is now proposed using the DEB and RPM formats which automatically install the required dependencies. January 9, 2014 Matlab toolbox for BTK 0.3 released A new version of thebtk
toolbox for Matlab (32-bit and 64-bit) under Windows, MacOS X, and Linux is available in the MatlabBinaries page.
January 9, 2014
BTKCore 0.3 released
This is the first release of BTK since the modification in the structure of the project. This release improves mostly the internal behavior of the C++ API and fix issues related to the Python/Octave/Matlab bindings. Download, Detailed changelog
November 5, 2013
Official mirror on GitHub
The Biomechanical ToolKit has now also Git repositories on GitHub. These repositories will be mostly used to test the modifications in the code (i.e. for the continuous integration).
October 1, 2013
Biomechanical ToolKit switched from SVN to Git
The Biomechanical ToolKit project switched from SVN to Git and was split into different parts to facilitate the development. More information on the wiki page GitRepositories.
May 23, 2013
Matlab toolbox for BTK 0.2.1 released
The MEX functions for Matlab (32-bit and 64-bit) under Windows and MacOS X are available in the MatlabBinaries page.
May 7, 2013
Mokka 0.6.2 released
Maintenance release for Mokka 0.6 focused on the automatic update. Download, Changelog
Introduction
BTK is an open-source and cross-platform library for biomechanical analysis. BTK read and write acquisition files and can modify them. All these operations can be done by the use of the C++ API or by the wrappers included (Matlab, Octave, and Python).
The core of BTK is primary based on a pipeline design and on shared pointers. Each process can be linked (the output of previous is the input of the next) and scheduled together. The use of shared pointers permits to avoid the need of memory allocation/deletion, the choice of object's owner and the possibilities of memory leaks. Since BTK 0.1.7, the binary files (C3D, TRB, ANB, RIC, etc) use the memory-mapped file mechanism to be read and written faster (2x and more).
Changelog
The list of changes in the releases of BTK is available here
Support
If you have any question or you think you found a bug, you can send an email to the BTK Users group. You can also tweet @btkwww
for any informations.
Download
The latest packaged sources are for BTK Core 0.3.
Mokka software
The latest binaries for Mokka are available on the mini-website by clicking on the button Download Now. These binaries are available for MacOS 10.7+ (64-bit) and for Windows (32/64-bit).
Python binding
The latest packages for the Python binding are accessible on the page PythonBinaries.
Matlab binding
The latest packages for the Matlab binding are accessible on the page MatlabBinaries.
Documentation
The documentation presented below is also centralized in this page. You will find also the official logos used by BTK and Mokka and also some informations to cite the project Biomechanical ToolKit in your papers.
Build instructions
The BTK sources include a Readme.html
which details the configuration, compilation and install steps.
C++ API
The API documentation for the latest release can be found here. It includes also tutorials to integrate BTK in your project.
Python
The binding is proposed into a package named btk
. Even if you can find the binding documentation by using the command help(btk)
, there is also an online documentation here. It includes, tutorials, FAQ and a description for each function.
You can download the latest binaries for Python by using the informations in the PythonBinaries page.
Matlab/Octave
Each binding is packaged into a toolbox named btk
. Even if you can find the binding documentation by using the command help btk
, there is also an online documentation here. It includes, tutorials, FAQ and a description for each function.
You can download the latest binaries for Matlab by using the informations in the MatlabBinaries page.
Detailed instructions to build Octave are available in the wiki page OctaveBuildInstructions.
C3DServer emulation
The program C3Dserver gives access to the content of a C3D file and is able modify it under Windows 32-bit in programs such as Matlab, Labview or Excel. However, with the development of the computers' architecture (32-bit vs 64-bit) and the variety of the operating systems (Windows, MacOS X, Linux), several users cannot use anymore C3DServer.
To resolve this problem under Matlab/Octave, a M-Script file was written to emulate C3Dserver using the BTK functions. All the informations to see how to use it as well as benchmarks are in the wiki page C3DServerEmulationForMatlab.
Mokka
Mokka (MOtion Kinematics & Kinetics Analyzer) is a standalone cross platform software which uses heavily BTK. Started only as a demo software to show the possibilities to display markers' data in a 3D environment, it is today a valuable tool to explore biomechanical data (markers, forceplates, EMGs, video, etc).
Mokka has a mini-website to show its main features and to download the latest release. There is also a UserVoice
page where you can add and vote for the next features to implement! The help integrated into Mokka is also available online (using the screenshot for MacOS X). You can find the documentation for the latest relase of Mokka here
.
Roadmap
You can check the roadmap for the next releases of Mokka. If you would like some specific features or improvement, please contact us.
Projects using BTK
If your project is not in the following list, don't hesitate to send us an email to tell how BTK helps you!
Extensions
- Moiré Pattern Tracking System
, Read output from the MPT system developed by Metria Innovation
.
Software applications
The following projects use BTK to open biomechanical data stored in C3D files:
* ICT4Rehab, Advanced ICT Platform for Rehabilitation.
* FusionBox
, Dedicated software system for heterogeneous data fusion.
* OpenMAF
, Multimod Application Framework, a software framework for the rapid development of computer aided medicine applications.
* NMS Physiome
, Personalised models of the neuromusculoskeletal system.
OpenSim projects
- London Lower Limb Model
, The London Lower Limb Model model is based on one of the most recent anatomical dataset published in the literature (Klein Horsman, 2007).
- Matlab Opensim Pipeline Tools
, Tools for taking motion capture data from C3D files and generating the required input files.
Laboratories / Researchers
Many laboratories and researchers around the world use Biomechanical ToolKit in their studies. If you want to add your location on the map, send us an email! <wiki:gadget url="http://b-tk.googlecode.com/svn/wiki/BTKGoogleMapGadget.xml" width="850" height="500" />
View BTK Users and Collaborators Map in a larger map.
Requirements
BTK already contains required library to compile its core. It uses a modified version of CxxTest for unit and regressions tests and Eigen3
for matrix computations.
However, to build BTK, it is required to download and install CMake plus a compiler (GCC 3.3 or above, MSVC 2003 or above, ...). The documentation requires Doxygen
to be generated.
For more informations on the options available in BTK, you should read the file Readme.html
included with the source code.
Copyright Notice
BTK use the generous open-source New BSD license. Yes, you can use BTK in commercial products. The complete text of the copyright is included in BTK sources.
Project Information
- License: New BSD License
- 48 stars
- git-based source control
Labels:
Cplusplus
Biomechanics
C3D
Matlab
Octave
Qt
Python
VTK
Scilab