About tools4BCI
The tools4BCI project provides useful tools for brain-computer interface (BCI) researchers all over the world. BCIs more and more become a promenent topic in research and media. It is known, that the BCI research field is a multidisciplinary one, involving e.g., psychology, medicine and biomedical engeneering. Unfortunately, due to such a multidisciplinarity, exchangeable tools and methods are rare. tool4BCI mainly relies on the work from Mason and Birch (2003) - "A general framework for brain-computer interaction design" . In this work, the BCI is divided into distinct modules, connected with individual interfaces. tools4BCI can be seen as a starting point to provide implementations for those interfaces and establish some common ground for the standardization of BCI processes. The defined and implemented interfaces focus mainly on brain-computer interface systems, but might be useful for various other research fields, e.g., neuroscience in general or other biosignal processing fields.
tools4BCI is mainly developed by the Institute for Neural Engineering, Graz University of Technology and Defitech Chair in Brain-Machine Interface at EPFL and was created within the European FP7 Project TOBI (Tools for Brain-Computer Interaction).
The Core
The tobicore library package provides a set of libraries for transmitting classification results via TiC and to deliver events via TiD.
Features
The tobicore project provides a total of five C++ libraries that implement some concepts of the TOBI hBCI design
libtobicore: This is low-level library that provides basic functionalities, such as timestamp management (via TCTimestamp) and the TCBlock base class. It an essential library for all other libraries within the tobicore package.
libtobiic: This library implements the TOBI iC classifier output encoding/decoding via ICMessage.
libtobiid: This library implements the TOBI iD events encoding/decoding via IDMessage.
libtobiplatform: This library provides working and cross-platform implementations of some TOBI components, such as an iC client/server class (TPiC) and an iD client class (TPiD). (under Windows, e.g. MinGW or Cygwin are needed to compile this library.)
libTiD: This library provides a platform independent network layer around the tobiid library including a TiD server to dispatch TiD messages.
tobicoremat: This library provides MEX interfaces to a large set of the tobicore functionalities. The MEX interfaces are not documented here since a per-funtion documentation is provided in the .m files and examples are provided with the interfaces.
Code
The tobicore library is written in C++ and the Code is available here. To get r/w access to the tobicore repository, please get in touch with: Christian Breitwieser -- c.breitwieser(at)tugraz(dot)at
Documentation
- Doxygen doku
- Documents illustrating the general concepts of tobiic and tobiid are additionally available:
- tobiic description
- tobiid description
Licencing
The individual tobicore libraries are licenced under the LGPL version 3.0.