|
Project Information
Featured
Links
|
This is a Biomechanical ToolKit named BTK. IntroductionBTK 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 and Scilab). BTK is principaly 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). SupportIf 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. DocumentationThe 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. Mokka NEW (04-16-2012): Mokka has now a UserVoice page. Add and vote for the next features to implement! Mokka has a mini-website to show its main features and even more! The help integrated into Mokka is also available online (using the screenshot for MacOS X). You can find the documentation for Mokka 0.2, 0.3, 0.4 and 0.5. Matlab/Octave wrapper Each wrapper are packaged into a toolbox named btk. Even if you can find the wrapper documentation by using the command help btk, there is also an online documentation here. It includes, tutorials, FAQ and a description for each function. Detailed instructions to build Octave are available in the wiki page OctaveBuildInstructions. News- 12/16/04: Mokka 0.5.1 (r1069) released
- Fixes:
- Dragging any kind of item (except video) over the video view hides the current displayed video.
- Clearing a chart for a cropped acquisition reset the zoom.
- Switching between collapsed and expanded analog chart with a cropped acquisition resets the bounds of the chart.
- Mokka 0.5 introduced a bug where it is no more possible to modify the frame of the edited event(s).
- Mokka under MacOS X doesn't contain the phonon backend for quicktime ( issue 29 ).
- 12/11/04: Mokka 0.5 (r1037) released
- Enhancements:
- Watch any video joined to an acquisition (see the note at the bottom of the news for more informations).
- Import video files (AVI, MOV, MPEG, OGG, WMV)
- New readable TDF file format (BTS Bioengineering).
- New readable AMTI forceplate file format (ASC - FxFyFzMxMyMz file).
- View ground reaction force butterfly (as proposed by Khodadadeh, 1998).
- View ground reaction force path.
- New computed angle for the force platform: Direction angle of the force vector.
- Updates:
- Time bar event can display frame (default) or time. Default setting available in the preferences.
- Unit for the horizontal axis of the charts can be set to frame (default) or time.
- New preferences for the charts.
- New preferences to display ground reaction force butterfly and path.
- New dialog box to save a layout (create a new one or save it on an existing one).
- New dialog box for the visual configuration saving option.
- Importing acquisitions enabled now the save action (not only the "save as").
- Improving the way to save an acquisition. Especially if there is no filename or the current file extension is not supported.
- The collapse of the properties in the acquisition explorer reduces also their size to go down.
- Model pane renamed Acquisition explorer.
- Fixes:
- Re-saving causes change in units in Mokka ( issue 22 ).
- Perspective view loses content upon rotation ( issue 21 ).
- Cropping the region of interest in the time bar doesn't crop the charts.
- Cropping an acquisition and dropping an item into a chart reset the bounds of its X axis.
- Zooming and cropping an acquisition doesn't reset the zoom action.
- VSK/VST file without any model name cannot be loaded.
- VSK/VST file with an empty model name append an empty row in the combobox.
- Cropping and reframing an acquisition several time doesn't work.
- Moving an event and trying to undo this action doesn't reset correctly the event's frame.
- The XLS extension is not in the filter used for the "Open" action.
- Trying to import an EMG file from the Import assistant doesn't open the dialog box to select a file.
- Clicking on an event in the timebar highlights the line representing it in the visible charts only for the first time.
- Clicking on the action "Import > EMF files..." does nothing.
- Trying to write a file with an extension not supported leads to an error. Now open a "Save as" dialog.
- The action "Reframe from one" is enabled even if the first frame is equal to 1.
- Note: Mokka does not provide any video codec but rely on the ones installed on your computer. The video feature uses Phonon which depends on backends. Mokka requires then DirectShow (which requires DirectX) on Windows, QuickTime on Mac, and GStreamer on Linux.
- 12/13/11: Binaries for BTK 0.1.9 with Matlab support
- The MEX functions for Matlab (32-bit and 64-bit) under Windows, MacOS X and Linux are now available.
- Check the page MatlabBinaries for more informations.
- 12/09/11: Mokka 0.4 (r903) released
- Enhancements:
- NEW VIEW: Chart viewer: Plot analog signals and points (angles, forces, etc.).
- Export plot to bitmap images.
- NEW VIEW: Console logger: Display all messages coming from Mokka or its dependencies.
- Layout manager to save and load the configuration of the views and their properties.
- Force platform reactions are visible in the model pane.
- Acquisition can now be reframed from the value 1.
- Updates:
- Sticks used to display segments are now wider (line width set to 2).
- Improvement in the memory management of the views.
- UI modified for the checker of update when there is no update or when an error occurred.
- The axes used to show the orientation of the 3D view are scaled to have a fixed and squared size.
- Actions in the model configuration menu (gear button) were split. All the actions related to the model tree are in a contextual menu.
- The model panel is no more hidden and then shown when an acquisition is loaded (and the model panel is already visible).
- Acquisition file formats containing only analog data can be opened directly.
- Menu actions updated to be able to import RIF file and export force platform CAL file.
- (MacOS X only) The preferences window under MacOS X seems native (animation for height, zoom button disabled, no toolbar button, no resize indicator).
- (Windows only): Windows VersionInfo are now set for Mokka.
- Fixes:
- List of markers stated as visible into the model pane is wrong under Windows 7 64-bit ( issue 14 ).
- If the unit for the markers is set to meter in the first loaded acquisition, then the coordinates are not correctly scaled.
- In some case in the 3D perspective view, the camera is translated instead of rotated when switching from another application (using the key sequence Alt + Tab).
- Checker of update can be wrongly triggered with alpha release number
- (MacOS X only) Under MacOS X, the shortcut Command + M is used to minimize the application. The shortcut used to view the model panel is now set to Command + Shift + M (only under MacOS X).
- Minor UI fixes.
- 12/09/11: BTK 0.1.9 (r903) released
- Enhancements
- New wrapper for Octave: Use exactly the same syntax than the wrapper for Matlab ( issue 17 , issue 18 ).
- New script to detect Octave
- New acquisition file writer to export Motion Analysis force plateform calibration (CAL).
- New class btk::VTKChartTimeSeries to expand methods of the class vtkChartXY under VTK 5.6
- New class btk::VTKAxis to expand methods of the class vtkAxis under VTK 5.6
- New class btk::VTKChartLegend to expand methods of the class vtkChartLegend under VTK 5.6
- New class btk::VTKContextScene to be able to remove context items from a scene with VTK 5.6.
- New Matlab function to emulate C3Dserver: btkEmulateC3Dserver 1.0b1. More informations here: http://code.google.com/p/b-tk/wiki/C3DServerEmulationForMatlab
- New MEX function: btkSetAnalogNumber.
- Updates
- Analog class supports more gains.
- New method btk::Wrench::GetComponent.
- ANC file writer improved to better export analog data.
- The TRB reader doesn't set correctly the residual/mask for invalid coordinates.
- Detection of the size of the calibration matrix in the CAF file updated
- The RIC file reader can now read RIF file as BTS Bioengineering provide both.
- The RIC/RIF reader creates the metadata POINT:MARKERS_FILTERED to know if the data were filtered or not.
- New rule to merge acquisitions: You can select if you want to keep all the frames or only from the highest first frame.
- Filter to merge acquisitions improved when merging Motion Analysis files with the first frame not set to 1. New metadata to check this: BTK_POINT_CONFIG:NO_FIRST_FRAME created for acquisitions imported from ANC and CAL files.
- The rotation range around the global vertical axis is now set to 360 degrees instead of 180.
- Fixes
- Unit tests crashed on Unix 32 bits ( issue 11 ).
- Build fails under linux when compiling Code/VisSupport/VTK/btkVTKSegmentsFramesSource.cpp ( issue 15 )
- Mokka does not run after 'make install' under linux ( issue 16 )
- Mokka: File Tools/Mokka/moc_LoggerWidget.cxx fails to compile in linux ( issue 19 )
- Script to detect the version of VTK doesn't work.
- The methods btk:Wrench::SetForce and btk::Wrench::SetMoment wrongly force the type of the wrench's position instead of the new force or moment.
- The default unit for the Scalar point is empty while it is set to "mm" when reseting the acquisition.
- The data from the OrthoTrack XLS files are wrongly extracted
- Empty (NULL) C3D file crashed the C3D parser.
- In some case, the RIC/RIF file has no markers' label section and BTK throws an "end of file" exception.
- The units written in a C3D file correspond only to the default units (mm, N, Nmm, etc.).
- The revision r618 introduces a bug in the reading of C3D files containing analog channels which are not correctly tagged as unsigned 16 bits.
- An acquisition with wrong analog channel index for calibrated force plate throws an exception.
- The location of the axes frame associated with a force platform is not correctly calculated when the scale is not set to 1.
- Should fix some Matlab crashes due to the display of some C++ error messages.
- 06/28/11: New Matlab function to emulate C3Dserver
RequirementsBTK already contains required library to be compiled. It uses a modified version of CxxTest for unit and regressions tests and Eigen2 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. Copyright NoticeBTK 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.
|