Skip to content

EEG datasets

toncho11 edited this page Dec 27, 2022 · 31 revisions

Contains information about visual P300 datasets (usually available from MOABB).

Table 1 Basic Info

Name Electrodes count Subjects count Epoch length Frequency Available in MOABB Status
bi2013a 16 24 513 512 Yes OK
bi2014a 16 64 513 512 Yes OK
bi2014b 32/64 19/38 513 512 Yes OK
bi2015a 32 43 513 512 Yes OK
bi2015b 32 44 513 512 Yes OK
BNCI2014008 8 8 257 256 Yes OK
BNCI2015003 8 10 206 256 Yes OK
BNCI2014009 16 10 206 256 Yes OK
EPFLP300 32 8 2048 256 Yes OK
Lee2019_ERP 64 54 Unknown 1000 Yes Error
DemonsP300 8 60 501 500 Yes OK

Table 2 Additional Info

Name Electrodes Names Comment
bi2013a ["FP1", "FP2", "F5", "AFz", "F6", "T7", "Cz", "T8", "P7", "P3", "Pz", "P4", "P8", "O1", "Oz", "O2"] NonAdaptive, Adaptive, Training
bi2014a ["Fp1", "Fp2", "F5", "AFZ", "F6", "T7", "Cz", "T8", "P7", "P3" , "PZ", "P4" , "P8", "O1", "Oz", "O2" Participants 62, 63, 64 should not be included
bi2014b ["FP1", "FP2", "AFz", "F7", "F3", "F4", "F8", "FC5", "FC1", "FC2", "FC6", "T7", "C3", "Cz", "C4", "T8", "CP5", "CP1", "CP2", "CP6", "P7", "P3", "Pz", "P4", "P8", "PO7", "O1", "Oz", "O2", "PO8", "PO9" , "PO10"]
bi2015a ["FP1", "FP2", "AFz", "F7", "F3", "F4", "F8", "FC5", "FC1", "FC2", "FC6", "T7", "C3", "Cz", "C4", "T8", "CP5", "CP1", "CP2", "CP6", "P7", "P3", "Pz", "P4", "P8", "PO7", "O1", "Oz", "O2", "PO8", "PO9" , "PO10"] Using different flash duration 50ms, 80ms and 110ms
BNCI2014008 ["Fz", "Cz", "Pz", "Oz", "P3", "P4", "PO7","PO8"]
BNCI2015003 ["Fz", "Cz", "P3", "Pz", "P4", "PO7", "Oz", "PO8"]
BNCI2014009 ["Fz", "FCz", "Cz", "CPz", "Pz", "Oz", "F3", "F4", "C3", "C4", "CP3", "CP4", "P3", "P4", "PO7", "PO8"]

Code to explore the datasets

from moabb.datasets import bi2013a, bi2014a, bi2014b, bi2015a, bi2015b, BNCI2014008, BNCI2014009, BNCI2015003, EPFLP300, DemonsP300 
from moabb.paradigms import P300

def GetDataSetInfo(ds):
    #print("Parameters: ", ds.ds.__dict__)
    print("Dataset name: ", ds.__class__.__name__)
    print("Subjects: ", ds.subject_list)
    print("Subjects count: ", len(ds.subject_list))
    
    X, y, metadata = paradigm.get_data(dataset=ds, subjects=[ds.subject_list[0]])
    
    print("Electrodes count (inferred): ", X.shape[1])
    print("Epoch length (inferred)    : ", X.shape[2])
    #print("Description:    : ", ds.__doc__)

paradigm = P300()

#not available: bi2013a(), Lee2019_ERP()
for d in [bi2013a(), DemonsP300(), bi2014a(), bi2014b(), bi2015a(), bi2015b(), BNCI2014008(), BNCI2014009(), BNCI2015003(), EPFLP300()]:
    GetDataSetInfo(d)
    print("======================================================================================")

You can resample data using:

If there is a problem with downloading the data you can remove the particular folder of a dataset in the base folder mne_data and try again.