FORCe: Fully Online and automated artifact Removal for brain-Computer interfacing

FORCe attempts to perform fully automated EEG artifact removal for brain-computer interfaces (BCIs). It is able to remove blinks, ECG, movement, and a large amount of EMG artifact from the EEG very quickly. Therefore, it can be used during online BCI. FORCe operates by first taking a Wavelet decomposition of a short window of the EEG and then applying a combination of soft and hard thresholding to the detail coefficients of the decompositions. The approximation coefficients are further processed by independent component analysis and combinations of various statistical thresholds are used to automatically identify components which contain artifacts are remove them.

Further details of the operation of the FORCe method can be found in the paper. Which may be obtained pubmed. If you don’t have access to the above link a pre-print (authors self-archive) version of the paper can be found The code can be downloaded from TUGraz.

SCoT (Source Connectivity Toolbox)

SCoT, the source connectivity toolbox for Python, performs connectivity analysis on EEG/MEG sources. It is written in Python and intended to be used from interactive sessions or programmatically. SCoT contains tools for blind source separation of EEG channels, connectivity estimation with vector autoregressive (VAR) models, resampling statistics, and visualization. SCoT works with multi-trial data to enhance connectivity estimates using repeated trials, but it can also use regularized VAR models for single-trial connectivity estimation.

The source code is available on GitHub, including online documentation. We have also published an article about SCoT in Frontiers in Neuroinformatics, please consider citing this article if you use the toolbox in your own work.


SigViewer is a viewing application for biosignals, originally designed to display EEG data. SigViewer supports several biosignal data formats through libbiosig (for example GDF, EDF, CNT, EEG, and many more). Besides displaying biosignals, SigViewer supports creating annotations to select artifacts or specific events.

SigViewer is written in standard C++ using the platform-independent graphical user interface (GUI) toolkit Qt. SigViewer is available for all three major platforms (namely Windows, Mac OS X, and Linux) using only one common source tree. Moreover, it does not depend on any proprietary tools such as MATLAB or the Microsoft Foundation Classes (MFC), making it a truly free open-source program licensed under the GPL.

The source code is available on GitHub, and binaries can be downloaded on the project page.

Common BCI implementation platform

The TOBI consortium has developed a common implementation platform, which allows researchers working with different BCI platforms and progamming tools to quickly set up new systems and integrate different parts and modules. The main goal of this framework is to provide a common architecture based on a standardized data acquisition module (for EEG and other signals) and several interfaces, which make it easy to connect any modules (e.g. classifiers, post processors, ...) to existing software without reading into a special environment.

Various tools and libraries for this purpose can be found at the project page, including a data acquisition server (SignalServer) and a scope (TiAScope). A Python client (PyTIAClient), which receives data from a TIA server, is also available separately.