Difference between revisions of "BCI"
(→Tools) |
|||
Line 67: | Line 67: | ||
https://paperswithcode.com/search?q_meta=&q_type=&q=EEG | https://paperswithcode.com/search?q_meta=&q_type=&q=EEG | ||
===Python EEG ERP toolboxes=== | ===Python EEG ERP toolboxes=== | ||
− | # PyRiemann, the main toolbox in this project [https://github.com/pyRiemann/pyRiemann], [ | + | # PyRiemann, the main toolbox in this project [https://github.com/pyRiemann/pyRiemann], [https://pyriemann.readthedocs.io/en/latest/auto_examples/index.html#classification-of-erp] |
− | https://pyriemann.readthedocs.io/en/latest/auto_examples/index.html#classification-of-erp] | ||
# Event Related Potentials, explains how to extract Event Related Potentials [http://learn.neurotechedu.com/erp/#:~:text=Feature%20extraction%20is%20the%20process,the%20accuracy%20of%20the%20BCI] | # Event Related Potentials, explains how to extract Event Related Potentials [http://learn.neurotechedu.com/erp/#:~:text=Feature%20extraction%20is%20the%20process,the%20accuracy%20of%20the%20BCI] | ||
# NeuroKit2: The Python Toolbox for Neurophysiological Signal Processing Stress on ECG, slightly on EEG, not ERP, provides a comprehensive suite of processing routines for a variety of bodily signals (e.g., ECG, PPG, EDA, EMG, RSP) [https://doi.org/10.3758/s13428-020-01516-y] | # NeuroKit2: The Python Toolbox for Neurophysiological Signal Processing Stress on ECG, slightly on EEG, not ERP, provides a comprehensive suite of processing routines for a variety of bodily signals (e.g., ECG, PPG, EDA, EMG, RSP) [https://doi.org/10.3758/s13428-020-01516-y] |
Revision as of 04:38, 5 May 2023
Contents
Datasets
ERP data
Event-related potential, see ERP and P300 is triggered by a stimulus and registered over EEG monitor electrodes after the stimulus onset and before it.
The listed EEG datasets are expected to be of a maximum number of events to test the models. So the idea of collecting these data is to analyze a model on various data.
The ERP refers to the classification problem. The stimulus belongs to a class label from a given set. The event, starting from the stimulus onset, is a classification object. The Object description is the time series from tmin to tmax over the electrodes. Usually, tmax = 1200 ms and tmin = -300 ms. So the data set is a 3-way design matrix \(X\) and a binary vector \(y\). Sometimes the design matrix is 2-way after an EEG feature extraction procedure.
MNE tutorial datasets
Mobile BCI dataset
With scalp- and ear-EEGs with ERP and SSVEP paradigms while standing, walking, and running
Kaggle EEG data (2)
From sensory tasks in Schizophrenia 9 GB with ERP
The Nencki-Symfonia EEG/ERP dataset
First, data validation confirmed acceptable quality of the obtained EEG signals. Typical event-related potential (ERP) waveforms were obtained, as expected, for attention and cognitive control tasks (i.e., N200, P300, N450).
BCI Competition IV 2008
Motor imagery, classifier application, hand movement direction in MEG
International BCI Competition 2020
Five tracks: Few-shot EEG learning, Microsleep detection from single-channel EEG, Imagined speech classification, Upper-limb movements decoding in a single-arm, EEG(+Ear-EEG)-based ERP detection during walking
NeuroKit Datasets
NeuroKit2: A Python toolbox for neurophysiological signal processing. NeuroKit includes datasets that can be used for testing.
Continuous data
- Neurotycho
Thinking out loud, an open-access EEG-based BCI dataset
SEED Dataset
A dataset collection for various purposes using EEG signals
DEAP Dataset
A Dataset for Emotion Analysis using EEG, Physiological, and Video Signals
OpenNeuro: Search EEG portal
Neiry-demons
Detection of ERP presence after stumulus.
Tools
Search through the list of papers with code https://paperswithcode.com/search?q_meta=&q_type=&q=EEG
Python EEG ERP toolboxes
- PyRiemann, the main toolbox in this project [1], [2]
- Event Related Potentials, explains how to extract Event Related Potentials [3]
- NeuroKit2: The Python Toolbox for Neurophysiological Signal Processing Stress on ECG, slightly on EEG, not ERP, provides a comprehensive suite of processing routines for a variety of bodily signals (e.g., ECG, PPG, EDA, EMG, RSP) [4]
- PyEEG [5], the Reference Guide shows poor list of functions
- HTNet [6]
- EEGNet [7]
- Gumpy does not downloads data automatically, no way
GP and Space-State Models
- State Space Models, the latest one S4 [8]
- GPPython, for Gaussian process modeling (now the sklearn models are used)
- GPy, Gaussian Process framework in Python [9]
Matlab Toolboxes
- Signal processing, etc. goes with Matlab [10]
- EDF file analyzer [11]
- EEGLAB
- FieldTrip [12]
- The BBCI Toolbox is a Brain-Computer Interface (BCI) toolbox [https://github.com/bbci/bbci_public
ERP_Connectivity_EMG_Analysis]
Experiments
Brain-Computer Interfaces and Functional Data Analysis
This course is under construction. It enlightens fundamental mathematical concepts of brain signal analysis.
Each class combines five parts:
- Comprehensive introduction
- Practical example with code and homework
- Algebraic part of modeling
- Statistical part of modeling
- Join them in Hilbert (or any convenient) space
- Quiz for the next part (could be in the beginning) to show the theory to catch up
Linear models
SSA, SVD, PCA
- non-parametric phase space Hankel matrix
- convoluion ?
- forecasting with SSA
Accelerometer data
- Energy
Tensor product and spectral decomposition
- vector, covector, dot product
- linear operator
- in Euclidean and (Hilbert space with useful example) dot product=bilinear form
- bilinear form
- factorization
- spectral decomposition
- SVD
- ??? SVD in Hilbert space
Why do we go from Eucledian to Hilbert space? Was: a vector as a number of measurements. Now it is a finite number of samples. Then it is a distribution of samples. The distribution is a point in the Hilbert space. We can make an inner product and tensor product of two and more distributions. Machine learning: given samples, multivariate distribution can be represented as a (direct?) sum of elements' tensor products.
PPCA
- PPCA
- How to tell stochastic from deterministic variable? Are expectation and variance deterministic?
- Recap: joint and conditional distribution, marginalization.
- Sampling principle
- VAE as PPCA encoder-decoder