Code

I am a strong believer that time spent sharing research code and datasets is never wasted. Here below I list some of the codes and projects that I have worked on.

Transfer Learning for BCI. During my Ph.D. years, I worked a lot on problems related to transfer learning for brain-computer interfaces. You can check the research page for an overview of this topic. The code related to RPA is available here and is now part of `pyriemann` too. You can check these examples for more information. The code related to the Dimensionality Transcending is here. Please feel free to open issues on both repositories; contributions are always welcome.
pyRiemann. In this package developed by Alexandre Barachant you can find implementations of most of the basic geometric operations in the symmetric-positive definite manifold. A very nice feature of pyRiemann is its compatibility with the scikit-learn API. I did some contributions to the code base of this package, mainly on its non-linear dimensionality reduction and transfer learning modules. I have also given a presentation at the BCI Meeting 2023 talking about the package. See here for more information.
MOABB. A recent effort in improving the reproducibility of the research in brain-computer interfaces (BCI) has been the development of the MOABB framework. It provides the means for easily comparing classification methods on a benchmark of publicly available BCI datasets with an API compatible with scikit-learn and MNE. I have contributed to its code base with the inclusion of the functionality for handling BCI data in the P300 paradigm. I have also co-organized a one-day workshop at the Graz BCI 2019 conference with a hands-on tutorial to MOABB. The code and slides for the workshop are available here.
Public EEG datasets. I have co-created a set of nine publicly available datasets with EEG recordings of several experiments at the GIPSA-lab in Grenoble, France. I have contributed to the writing of all technical reports and have created several github repositories with minimal working examples, showing how researchers can easily download each dataset and use it for their own data analysis. Here below you find the list of names of these datasets along with links to their documentation and github repository.
  • Brain Invaders calibration-less P300-based BCI with modulation of flash duration Dataset (bi2015a)
    Links: documentation, data, and code.
  • Brain Invaders Cooperative versus Competitive: Multi-User P300- based Brain-Computer Interface Dataset (bi2015b)
    Links: documentation, data, and code.
  • Brain Invaders calibration-less P300-based BCI using dry EEG electrodes Dataset (bi2014a)
    Links: documentation, data, and code.
  • Brain Invaders Solo versus Collaboration: Multi-User P300-based Brain-Computer Interface Dataset (bi2014b)
    Links: documentation, data, and code.
  • Brain Invaders Adaptive versus Non-Adaptive P300 Brain-Computer Interface dataset (bi2013)
    Links: documentation, data, and code.
  • Building Brain Invaders: EEG data of an experimental validation (bi2012)
    Links: documentation, data, and code.
  • Passive Head-Mounted Display Music-Listening EEG dataset
    Links: documentation, data, and code.
  • Dataset of an EEG-based BCI experiment in Virtual Reality and on a Personal Computer
    Links: documentation, data, and code.
  • EEG Alpha Waves Dataset
    Links: documentation, data, and code.