• Stars
    star
    443
  • Rank 98,504 (Top 2 %)
  • Language
    Python
  • License
    BSD 3-Clause "New...
  • Created over 4 years ago
  • Updated 23 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

EEG Experiments in Python

EEG-Notebooks

Democratizing the cognitive neuroscience experiment

badge_test badge_binder

https://github.com/NeuroTechX/eeg-notebooks/raw/master/doc/img/eeg-notebooks_logo.png

EEG-Notebooks is a collection of classic EEG experiments, implemented in Python 3 and Jupyter notebooks. The experimental protocols and analyses are quite generic, but are primarily taylored for low-budget / consumer EEG hardware such as the InteraXon MUSE and OpenBCI Cyton. The goal is to make cognitive neuroscience and neurotechnology more accessible, affordable, and scalable.


Note: eeg-notebooks underwent major changes to the API in v0.2. The old v0.1 is still available if you need it, in this repo.


Overview

Conventional lab-based EEG research typically uses research-grade (often high-density) EEG devices, dedicated stimulus delivery software and hardware, and dedicated technicians responsible for operating this equipment. The price tag for these items can easily extend into hundreds of thousands of dollars, which naturally places major limits on their acquisition and usage.

In recent years, however, developments in hardware and software technologies are making it possible for many classic EEG cognitive neuroscience experiments to be conducted using a standard laptop/personal computer and a relatively cheap consumer-grade EEG device, with a combined minimum cost of less than 1000 dollars. This opens dramatic new possibilities for neurotechnology and cognitive neuroscience education (at both University and High School levels), as well as more ambitious and larger-scale research and clinical applications using large numbers of devices, and/or in more naturalistic (i.e. out-of-the-lab) settings. We like to think of this as contributing to the democratization of the cognitive neuroscience experiment.

The core aim of the EEG-Notebooks project is to provide the critical 'glue' that pulls together the various enabling technologies necessary for running these experiments and analyzing the data. This includes functionality for

  • streaming data from various relatively new wireless consumer-grade EEG devices
  • visual and auditory stimulus presentation, concurrent with and time-locked to the EEG recordings
  • a growing library of well-documented, ready-to-use, and ready-to-modify experiments
  • signal processing, statistical, and machine learning data analysis functionalities

A real one-stop-shop!

For more discussion on these social/scientific/technological contexts and trajectories, a) feel free to get in touch directly (see #Contact info below) and b) keep an eye out for the forthcoming eeg-notebooks research paper.

Documentation

The current version of eeg-notebooks is the 0.2.X series. The code-base and API are under major development and subject to change.

Check the changelog for notes on changes from previous versions.

Installation instructions, steps for getting started, common troubleshooting solutions and more can be found in the documentation for eeg-notebooks, available on the documentation site.

Acknowledgments

EEG-Notebooks was created by the NeurotechX hacker/developer/neuroscience community. The ininitial idea and majority of the groundwork was due to Alexandre Barachant - including the muse-lsl library, which is core dependency. Lead developer on the project is now John Griffiths .

Key contributors include: Alexandre Barachant, Hubert Banville, Dano Morrison, Ben Shapiro, John Griffiths, Amanda Easson, Kyle Mathewson, Jadin Tredup, Erik Bjäreholt.

Thanks also to Andrey Parfenov for the excellent brainflow library, which has allowed us to dramatically expand the range of supporte devices; as well as the developers of PsychoPy and MNE, which together make up the central scaffolding of eeg-notebooks.

Contribute

This project welcomes and encourages contributions from the community!

If you have an idea of something to add to eeg-notebooks, please start by opening an issue.

Contact

The best place for general discussion on eeg-notebooks functionality is the issues page. For more general questions and discussions, you can e-mail [email protected], or ping us on the NeuroTechX Discord or NeuroTechX slack.

https://github.com/NeuroTechX/eeg-notebooks/raw/master/doc/img/eeg-notebooks_democratizing_the_cogneuro_experiment.png

More Repositories

1

awesome-bci

Curated Collection of BCI resources
1,042
star
2

moabb

Mother of All BCI Benchmarks
Python
686
star
3

eeg-101

Interactive neuroscience tutorial app using Muse and React Native to teach EEG and BCI basics.
JavaScript
244
star
4

eeg-notebooks_v0.1

Previous version of eeg-notebooks
Jupyter Notebook
184
star
5

bci-workshop

Material for the BCI Workshop held at District 3 in May 2015 by BCI Montréal.
Python
88
star
6

learn.neurotechedu.com

Source code for our open-source EDU website
Jupyter Notebook
71
star
7

dl-eeg-playground

Deep Learning EEG Playground
Jupyter Notebook
65
star
8

neurodoro

🍅 A dynamic brain-responsive pomodoro timer
Jupyter Notebook
52
star
9

neurotechx.github.io

NeuroTechX website
CSS
11
star
10

tutorials

NeuroTechX Tutorials & Learning Material
10
star
11

studentclubs

JavaScript
7
star
12

Brainlock

N400 based EEG biometric authentication system
Jupyter Notebook
6
star
13

node-edf

Resources for reading and writing EEG data into edf, edf+, and bdf files with JS (hopefully a library, eventually)
JavaScript
6
star
14

ntx_slack_archive

Archive of the messages posted on slack
4
star
15

Resource-Kit

Graphics resource kit for everything NTX
3
star
16

NTX-dockit

NeuroTechX Chapter Information!
HTML
3
star
17

Neurocademy

neurocademy 1.0 site
CSS
2
star
18

neureka-challenge

Neureka™ 2020 Epilepsy Challenge - From Tutorials to Winning Solutions
Jupyter Notebook
2
star
19

neurotechedu

HTML
1
star
20

ntx_slack_resources

Middleware used to synchronize neurotechedu and the slack edubot.
1
star
21

gamma-light

Gamma entrainment and amyloid beta reduction with light
JavaScript
1
star
22

ntx-sc

JavaScript
1
star