The Second Order Blind Inference (SOBI) algorithm is a Blind Source Seperation technique that uses decorrelation across several time-lags of the signal as its main computation step (Belouchrani, 1997). This repository contains a SOBI implementation in Python 3.4, automated for the application of EOG artefact removal in EEG data as described by Joyce (2004).
For a tutorial on how to use the SOBI class, see SOBI tutorial.ipynb
.
For documentation on the implementation and validation of the SOBI algorithm, see SOBI_implementation_doc.pdf
SOBI_implementation_doc
: Documentation of implementation and validation of the SOBI algorithm in python 3.4.
Contains information on the simulated data, as described in 'A semi-simulated EEG/EOG dataset for the comparison of EOG artifact rejection techniques' by Klados (2016).
Contains all articles cited in 'SOBI implementation doc'.
Contains the following files written in Python 3.4:
SOBI.py
: The class containing the Second Order Blind Inference algorithm.joint_diagonalizer.py
: Script containing 4 algorithms that can be used for joint diagonalization.sim_data.py
: Script that reads the simulated data from the Data folder and returns it as an array object.Validate.py
: The class object used to validate the correction applied by the SOBI algorithm for either simulated data or acquired data.
Contains the following subfolders:
- acdc: Matlab files of ACDC algorithm implementation by Dr. Arie Yeredor, School of Electrical Engineering, Tel-Aviv University. e-mail: [email protected] web-site: www.eng.tau.ac.il\~arie
- crossval: data generated by cross-validation analysis, formatted in csv files.
- Data: the Klados datasets. See header 'EEG data (Klados datasets)' for more information
- Figures: contains 3 subfolders with figures of 'BandX': true and observed signals, 'Corrections': corrections applied by SOBI with parameters as described by Belouchrani(1997), Sutherland(2004) and Joyce(2004).
- frob: C files of Fast Frobenius algorithm implementation as used in R.