Datasets

A dataset handle and abstract low level access to the data. the dataset will takes data stored locally, in the format in which they have been downloaded, and will convert them into a MNE raw object. There are options to pool all the different recording sessions per subject or to evaluate them separately.

Motor Imagery Datasets

AlexMI()

Alex Motor Imagery dataset.

BNCI2014001()

BNCI 2014-001 Motor Imagery dataset.

BNCI2014002()

BNCI 2014-002 Motor Imagery dataset.

BNCI2014004()

BNCI 2014-004 Motor Imagery dataset.

BNCI2015001()

BNCI 2015-001 Motor Imagery dataset.

BNCI2015004()

BNCI 2015-004 Motor Imagery dataset.

Cho2017()

Motor Imagery dataset from Cho et al 2017.

Lee2019_MI([train_run, test_run, …])

Methods

MunichMI()

Munich Motor Imagery dataset.

Ofner2017([imagined, executed])

Motor Imagery ataset from Ofner et al 2017.

PhysionetMI([imagined, executed])

Physionet Motor Imagery dataset.

Schirrmeister2017()

High-gamma dataset discribed in Schirrmeister et al. 2017.

Shin2017A([accept])

Motor Imagey Dataset from Shin et al 2017

Shin2017B([accept])

Mental Arithmetic Dataset from Shin et al 2017

Weibo2014()

Motor Imagery dataset from Weibo et al 2014.

Zhou2016()

Motor Imagery dataset from Zhou et al 2016.

ERP Datasets

bi2013a([NonAdaptive, Adaptive, Training, …])

P300 dataset bi2013a from a “Brain Invaders” experiment

BNCI2014008()

BNCI 2014-008 P300 dataset

BNCI2014009()

BNCI 2014-009 P300 dataset.

BNCI2015003()

BNCI 2015-003 P300 dataset.

DemonsP300()

Visual P300 dataset recorded in Virtual Reality (VR) game Raccoons versus Demons.

EPFLP300()

P300 dataset from Hoffmann et al 2008.

Lee2019_ERP([train_run, test_run, …])

Methods

SSVEP Datasets

SSVEPExo()

SSVEP Exo dataset

Nakanishi2015()

SSVEP Nakanishi 2015 dataset

Wang2016()

SSVEP Wang 2016 dataset

MAMEM1()

SSVEP MAMEM 1 dataset

MAMEM2()

SSVEP MAMEM 2 dataset

MAMEM3()

SSVEP MAMEM 3 dataset

Lee2019_SSVEP([train_run, test_run, …])

Methods

Base & Utils

base.BaseDataset(subjects, …[, doi, …])

Parameters required for all datasets

download.data_path(url, sign[, path, …])

Get path to local copy of given dataset URL.

download.data_dl(url, sign[, path, …])

Download file from url to specified path

download.fs_issue_request(method, url, headers)

Wrapper for HTTP request

download.fs_get_file_list(article_id[, version])

List all the files associated with a given article.

download.fs_get_file_hash(filelist)

Returns a dict associating figshare file id to MD5 hash

download.fs_get_file_id(filelist)

Returns a dict associating filename to figshare file id

download.fs_get_file_name(filelist)

Returns a dict associating figshare file id to filename

utils.dataset_search(paradigm[, …])

Returns a list of datasets that match a given criteria

utils.find_intersecting_channels(datasets[, …])

Given a list of dataset instances return a list of channels shared by all datasets.

Evaluations

An evaluation defines how we go from trials per subject and session to a generalization statistic (AUC score, f-score, accuracy, etc) – it can be either within-recording-session accuracy, across-session within-subject accuracy, across-subject accuracy, or other transfer learning settings.

Evaluations

WithinSessionEvaluation(n_perms, list, …)

Within Session evaluation.

CrossSessionEvaluation(paradigm[, datasets, …])

Cross session Context.

CrossSubjectEvaluation(paradigm[, datasets, …])

Cross Subject evaluation Context.

Base & Utils

base.BaseEvaluation(paradigm[, datasets, …])

Base class that defines necessary operations for an evaluation.

Paradigms

A paradigm defines how the raw data will be converted to trials ready to be processed by a decoding algorithm. This is a function of the paradigm used, i.e. in motor imagery one can have two-class, multi-class, or continuous paradigms; similarly, different preprocessing is necessary for ERP vs ERD paradigms.

Motor Imagery Paradigms

MotorImagery([n_classes])

N-class motor imagery.

LeftRightImagery(**kwargs)

Motor Imagery for left hand/right hand classification

FilterBankLeftRightImagery(**kwargs)

Filter Bank Motor Imagery for left hand/right hand classification

FilterBankMotorImagery([n_classes])

Filter bank n-class motor imagery.

P300 Paradigms

SinglePass([fmin, fmax])

Single Bandpass filter P300

P300(**kwargs)

P300 for Target/NonTarget classification

SSVEP Paradigms

SSVEP([fmin, fmax])

Single bandpass filter SSVEP

FilterBankSSVEP([filters])

Filtered bank n-class SSVEP paradigm

Base & Utils

motor_imagery.BaseMotorImagery([filters, …])

Base Motor imagery paradigm.

motor_imagery.SinglePass([fmin, fmax])

Single Bandpass filter motot Imagery.

motor_imagery.FilterBank([filters])

Filter Bank MI.

p300.BaseP300([filters, events, tmin, tmax, …])

Base P300 paradigm.

ssvep.BaseSSVEP([filters, events, …])

Base SSVEP Paradigm

base.BaseParadigm()

Base Paradigm.

Pipelines

Pipeline defines all steps required by an algorithm to obtain predictions. Pipelines are typically a chain of sklearn compatible transformers and end with an sklearn compatible estimator.

Pipelines

features.LogVariance()

LogVariance transformer

features.FM([freq])

Transformer to scale sampling frequency

features.ExtendedSSVEPSignal()

Prepare FilterBank SSVEP EEG signal for estimating extended covariances

csp.TRCSP([nfilter, metric, log, alpha])

Weighted Tikhonov-regularized CSP as described in Lotte and Guan 2011

classification.SSVEP_CCA(interval, freqs[, …])

Classifier based on Canonical Correlation Analysis for SSVEP

Base & Utils

utils.create_pipeline_from_config(config)

Create a pipeline from a config file.

utils.FilterBank(estimator[, flatten])

Apply a given indentical pipeline over a bank of filter.

Analysis

Plotting

plotting.score_plot(data[, pipelines])

Plot scores for all pipelines and all datasets

plotting.paired_plot(data, alg1, alg2)

Generate a figure with a paired plot

plotting.summary_plot(sig_df, effect_df[, …])

Significance matrix to compare pipelines

plotting.meta_analysis_plot(stats_df, alg1, alg2)

Meta-analysis to compare two algorithms across several datasets

Statistics

meta_analysis.find_significant_differences(df)

Compute differences between pipelines across datasets

meta_analysis.compute_dataset_statistics(df)

Compute meta-analysis statistics from results dataframe

meta_analysis.combine_effects(effects, nsubs)

Combining effects for meta-analysis statistics

meta_analysis.combine_pvalues(p, nsubs)

Combining p-values for meta-analysis statistics

meta_analysis.collapse_session_scores(df)

Prepare results dataframe for computing statistics