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 artifact removal in EEG data as described by Joyce (2004).
For a tutorial on how to use the SOBI class, see SOBI tutorial.ipynb
.
For the literature review that lead to the choice for SOBI for this application, see EEG_artifact_correction_report.pdf
.
For documentation on the implementation and validation of the SOBI algorithm, see SOBI_implementation_doc.pdf
-
EEG_artifact_correction_report
: Literature study of the EOG artifact problem in EEG data, and a review of possible machine learning solutions. -
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 'EEG artifact correction report' and 'SOBI implementation doc'.
Contains all meta information about the planning of this project.
Contains all scripts used for creating plots in presentations, report, and implementation documentation.
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: arie@eng.tau.ac.il 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.