Code Monkey home page Code Monkey logo

eeg-processing-toolbox's Introduction

EEG processing toolbox

Description

This software is released as part of the EU-funded research project MAMEM for supporting experimentation in EEG signals. It follows a modular architecture that allows the fast execution of experiments of different configurations with minimal adjustments of the code. The experimental pipeline consists of the Experimenter class which acts as a wrapper of five more underlying parts;

  • The Session object: Used for loading the dataset and segmenting the signal according to the periods that the SSVEP stimuli were presented during the experiment. The signal parts are also annotated with a label according to the stimulus frequency.
  • The Preprocessing object: Includes methods for modifying the raw EEG signal.
  • The Feature Extraction object: Performs feature extraction algorithms for extracting numerical features from the EEG signals.
  • The Feature Selection object: Selects the most important features that were extracted in the previous step.
  • The Classification object: Trains a classification model for predicting the label of unknown samples.

Instructions

The usage of some classes of the framework is limited by the following requirements.

Package Class Description
preprocessing FastICA Requires the FastICA library
aggregation Vlad Requires the vlfeat library
aggregation Fisher Requires the vlfeat library
featselection FEAST Requires the FEAST library (download link is next to "Archive" somewhere in the middle of the page) and MIToolbox (included in the FEAST zip file)
classification L1MCCA Requires the [tensor] (http://www.sandia.gov/~tgkolda/TensorToolbox/index-2.6.html) toolbox
classification LIBSVMFast Requires the libsvm library
classification MLTboxMulticlass Requires Matlab version r2015a or newer
classification MLDA Requires Matlab version r2014 or newer
classification SMFA Requires [SGE-SMFA] (https://github.com/amaronidis/SGE-SMFA)
util LSLWrapper Requires the Labstreaminglayer library

Examples

Some examples are available that are based on the datasets that can be found below.

  • exampleCSP, extract common spatial patterns in dataset III of [BCI competition II] (http://www.bbci.de/competition/ii/)
  • exampleCombiCCA, SSVEP recognition using the CombinedCCA method from [2]. Based on this [dataset] (ftp://sccn.ucsd.edu/pub/cca_ssvep)
  • exampleDefault, performs a simple experiment on Dataset I & II
  • exampleEPOCCCASVM, SSVEP recognition using SVM on the CCA coefficients, based on Dataset III
  • exampleERRP, recognition of error related potentials, based on the [dataset] (https://github.com/flowersteam/self_calibration_BCI_plosOne_2015) provided by [3]
  • exampleEarlyFusion, demonstrates how to merge features extracted by different electrode channels, based on Dataset II.
  • exampleEpoc, performs an experiment for the dataset that was recorded with an EPOC device (Dataset III)
  • exampleITCCA, SSVEP recognition using the ITCCA method from [2]. Based on this [dataset] (ftp://sccn.ucsd.edu/pub/cca_ssvep)
  • exampleL1MCCA, SSVEP recognition using the L1MCCA method from [2]. Based on this [dataset] (ftp://sccn.ucsd.edu/pub/cca_ssvep)
  • exampleLSL, Online recognition of SSVEP signals using the [LSL library] (https://github.com/sccn/labstreaminglayer).
  • exampleLateFusion, merging the output of different classifiers by majority voting, based on Dataset II.
  • exampleMotorPWelch, classification of right/left hand motor imagery based on the dataset III of [BCI competition II] (http://www.bbci.de/competition/ii/)
  • exampleOptimal, performs an experiment with the optimal settings for Dataset I & II
  • exampleSMFA, SSVEP recognition with using SMFA [4]

Datasets

Title Description Download Link
EEG SSVEP Dataset I EEG signals with 256 channels captured from 11 subjects executing a SSVEP-based experimental protocol. Five different frequencies (6.66, 7.50, 8.57, 10.00 and 12.00 Hz) presented in isolation have been used for the visual stimulation. The EGI 300 Geodesic EEG System (GES 300), using a 256-channel HydroCel Geodesic Sensor Net (HCGSN) and a sampling rate of 250 Hz has been used for capturing the signals. Dataset I
EEG SSVEP Dataset II EEG signals with 256 channels captured from 11 subjects executing a SSVEP-based experimental protocol. Five different frequencies (6.66, 7.50, 8.57, 10.00 and 12.00 Hz) presented simultaneously have been used for the visual stimulation. The EGI 300 Geodesic EEG System (GES 300), using a 256-channel HydroCel Geodesic Sensor Net (HCGSN) and a sampling rate of 250 Hz has been used for capturing the signals. Dataset II
EEG SSVEP Dataset III EEG signals with 14 channels captured from 11 subjects executing a SSVEP-based experimental protocol. Five different frequencies (6.66, 7.50, 8.57, 10.00 and 12.00 Hz) presented simultaneously have been used for the visual stimulation, and the Emotiv EPOC, using 14 wireless channels has been used for capturing the signals. Dataset III

References

[1] Vangelis P. Oikonomou, Georgios Liaros, Kostantinos Georgiadis, Elisavet Chatzilari, Katerina Adam, Spiros Nikolopoulos and Ioannis Kompatsiaris, "Comparative evaluation of state-of-the-art algorithms for SSVEP-based BCIs", Technical Report - eprint arXiv:1602.00904, February 2016

[2] M. Nakanishi, Y. Wang, Y.T. Wang, and T.P. Jung, “A comparison study of canonical correlation analysis based methods for detecting steady-state visual evoked potentials,” PLoS ONE, p. e0140703, October 2015.

[3] Iturrate, Iñaki, Jonathan Grizou, Jason Omedes, Pierre-Yves Oudeyer, Manuel Lopes, and Luis Montesano. "Exploiting task constraints for self-calibrated brain-machine interface control using error-related potentials." PloS one 10, no. 7 (2015): e0131491. Harvard

[4] Maronidis, Anastasios, Anastasios Tefas, and Ioannis Pitas. "Subclass Marginal Fisher Analysis." In Computational Intelligence, 2015 IEEE Symposium Series on, pp. 1391-1398. IEEE, 2015.

eeg-processing-toolbox's People

Contributors

ehatzi avatar kostasgeorgiadis avatar liarosge avatar nikolopo avatar vangelis2015 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.