This repository provides a comprehensive and modular framework for designing, conducting, and analyzing electroencephalography (EEG) studies. Whether you are a seasoned researcher or a novice in the field of neuroscience, this template aims to streamline the process of setting up EEG experiments, ensuring reproducibility, and facilitating data analysis.
Particular emphasis has been given to:
- Modular design to allow for any study to drop in files straight from the amplifier
- Pre-configured project layouts in accordance with BIDS
- Providing links to training material to improve technical skills
- Constructing visualizations which let researchers explore the data
This project assumes that you are running at least Python version 3.11. This can be checked by running the following code snippet inside of an interpreter.
import sys
print(sys.version)This should return a string similar to 3.11.0rc1 (main, Aug 12 2022, 10:02:14) [GCC 11.2.0].
If not, follow your platform's instructions for adding new versions of Python.
If you are unable or unfamiliar with this, please contact us or open an issue.
If you are brand new to EEG analysis and are seeking the fundamentals from a theoretical standpoint it is suggested to start with the following list
- An Introduction to the Event-Related Potential Technique, 2nd Edition (2014, MIT Press) Steven J. Luck
The following is a list of must-read materials and course work for users starting their journey from scratch:
- Software Carpentry Shell
- Teaches pathing and commmon terminal use
- Software Carpentry Python
- Basic Python introduction involving files, plotting, and scripting
- BIDS Specification
- Contains the definitions and assumptions for how studies should be layed out
- Introduction to Git
- Version control principles and how to download most open source projects
- MNE Python
- Main platform for interacting with data
To set up the environment, first install Jupyter Lab based on setup instructions from the Python software carpentry linked in this document.
If you have an alternative installation of Python, (i.e. not Anaconda) you may consider one of the methods in the subsequent paragraphs.
You may also install it via pip with: pip install jupyterlab. It can then be launched from the command line via jupyter lab. This should produce several lines of text in your terminal. Copy and paste one of the "localhost" URLs into your browser and you should be presented with the standard Jupyter interface.
Below is a list of notebooks in a rough ordering of their intended use.
test_environment- Installs necessary packages and does some basic plotting to verify that things are working
explore_source- Inspects a bunch of features of a single source recording to determine quality and necessary steps for initialization
init_bids_study- Walks through the steps of building a BIDS study from a list of source files
quick_clean- Performs very basic artifact detection on all bids subjects in the project before saving them to a derivative
erp_study- Based on conditions, performs a traditional ERP study on all subjects in the derivatives
- Provide some sort of graphic for skills hierarchy
- Provide some sort of graphic for notebook flow