User:Kensai/sandbox/OpenViBE

OpenViBE is a software platform dedicated to designing, testing and using brain-computer interfaces.

Key Features
OpenViBE enables to design, test and use Brain-Computer Interfaces.

OpenViBE is free and open source (under the terms of the LGPL). The whole software is developed in C++. It consists of a set of software modules that can be integrated easily and efficiently to design BCI applications such as for Virtual Reality (VR) interaction. Key features of the platform are:


 * Modularity and reusability. Our platform is a set of software modules dedicated to the acquisition, pre-processing, processing and visualization of cerebral data, as well as to the interaction with VR displays. OpenViBE is a general purpose software, which implies users should be able to easily add new software modules in order to fit their particular needs. This is ensured thanks to the concept of box algorithm, a "black box" in charge of a fraction of the whole processing pipeline, that allows to develop reusable components, reduces development time and helps to quickly extend functionalities.
 * Different user types. OpenViBE is designed for different types of users: VR developers, clinicians, BCI researchers, etc. Their various needs are addressed and different tools are proposed for each of them, depending on their programming skills and their knowledge in brain processes.
 * Portability. The platform operates independently from the different software and hardware targets. It includes an abstraction allowing to run with various acquisition machines, such as EEG or MEG. It can run on Windows and Linux and also includes different data visualisation techniques. Also, it is based on free and portable softwares (e.g., GTK+, IT++, GSL, VRPN, GCC).
 * Connection with VR. Our software can be integrated with high-end VR applications. OpenViBE can serve as an external peripheral to connect a BCI system to any kind of VR application. It also takes advantage of VR displays thanks to a light abstraction of a scenegraph management library, allowing to visualize cerebral activity more efficiently or to provide incentive training environments (e.g., for neurofeedback).

As compared to other BCI softwares, the OpenViBE platform stands out for its high modularity. It addresses the needs of different types of users (programmers and non-programmers) and proposes a user-friendly graphical language which allows non-programmers to design a BCI without writing a single line of code. Moreover, OpenViBE is portable, independent of hardware or software targets, can run under Windows and Linux and is entirely based on free and open-source software.

Applications
OpenViBE is a software for real-time neurosciences (that is, for real-time processing of brain signals). It can be used to acquire, filter, process, classify and visualize brain signals in real time. The main OpenViBE application fields are medical (assistance to disabled people, real-time biofeedback, neurofeedback, real-time diagnosis), multimedia (virtual reality, video games), robotics and all other application fields related to brain-computer interfaces and real-time neurosciences.

OpenViBE users can either be programmers or people not familiar with programming. This includes medical doctors, video game developers, researchers in signal-processing or robotics, etc. The graphical user interface of OpenViBE is simple to access and very easy to use for creating BCI scenarios and saving them for later use. In the designer, the available functions are listed in the right-hand window. The user simply drags and drops the selected functions in the left-hand window. He can then connect boxes together to add processing steps to the scenario being created. Lastly, the application is started by pressing the Play button to run the BCI.

OpenViBE is a library of functions written in C++ which can be integrated and applied quickly and easily using modules. The platform's main advantages are modularity, portability, availability of different tools for different types of user, including programmers and non-programmers, superior code performance and compatibility with virtual reality technologies.

The software also offers many 2D and 3D visualization tools to represent brain activity in real time. It is compatible with many EEG- and MEG-type machines because of its generic acquisition server.

OpenViBE offers many pre-configured scenarios for different applications including mental imagery, neurofeedback, P300 signals, etc.