Analysis of electroencephalogram data from physionet with a view to reproducing the classification results in this paper, and then improving them.
This plot is produced by running plot_reproduction.py
.
Notice how in our plot, CSP + LDA is a curve, in their's it's a horizontal line, I believe this is because the curve jumps up to a value after ~5 components and then stays flat, so they chose to just plot the horizontal line to keep the plot more readable.
At the top of the repo, we keep the code for reproducing the plot from Xu et al. as well as code useful for all experiments. In /inverseproblem
, we put our code related to solving the EEG inverse problem, this is our current angle for improving on Xu et al.'s results, and is currently under development. In /experiments
we keep all our experiments, in particular that is where we have routing_models/meta_clf.py
, our current best performing classifier.
The interesting sources of EEG signal are located primarily on the cortical surface, we have plotted the triangulated pial surface from the MNE sample dataset (left). We then turn the mesh into a SpharaPy mesh so we can more easily work with it. We plot the dipole sources when making a bem model using the MNE package with 'oct4' spacing on our SpharaPy mesh (right). The spacing parameter determines how sparcely and in what geometrical patter dipoles are placed on the surface, taking a fraction of the vertices of the original mesh (right).
![sourcesonmesh](https://github.com/user-attachments/assets/47c81e34-d60c-4017-8d17-a297d9231f5c)
Xiaoqi Xu, Nicolas Drougard, Raphaelle N Roy. Dimensionality Reduction via the Laplace-Beltrami Operator: Application to EEG-based BCI. 2021 10th International IEEE/EMBS Conference on Neural Engineering (NER) (2021)
Ou W, Hämäläinen MS, Golland P. A distributed spatio-temporal EEG/MEG inverse solver, Neuroimage (2009)
R.G. Abeysuriya, P.A. Robinson, Real-time automated EEG tracking of brain states using neural field theory, Journal of Neuroscience Methods (2015)