An automated end-to-end EEG processing pipeline built with MNE-Python. Features data loading/concatenation, 10-20 montage standardization, bandpass filtering, FastICA physiological artifact subtraction, time-locked epoching, and frequency-domain feature extraction (PSD).
- Data Ingestion & Concatenation: Seamless loading and merging of multiple contiguous European Data Format (
.edf) files. - Nomenclature Standardisation: Robust string-cleansing logic mapping physical channel configurations (e.g., trailing punctuation) dynamically to standard International 10-20 system templates.
- Ocular Artifact Subtraction: Implements Independent Component Analysis (
FastICA) to isolate, visualize, and exclude eye blinks and motor movements. - Time-Locked Epoching: Segments continuous signals into time-locked epochs centered around stimulus annotations with custom baseline correction.
- Spectral Feature Extraction: Computes Power Spectral Density (PSD) across standard frequency bands (Delta, Theta, Alpha, Beta).
The pipeline enforces a logical, strict neuroscientific data workflow to preserve signal integrity:
- Data Loading & Verification ➡️
- Channel Renaming & Montage Alignment ➡️
- Bandpass Filtering (1.0–40.0 Hz) ➡️
- Epoching & Segmentation ➡️
- ICA Decomposition & Artifact Removal ➡️
- Feature Extraction (Power Spectral Density)
The data used in this project comes from the [PhysioNet EEG Motor Movement/Imagery Dataset]. To run this notebook locally:
- Download files
S001R07.edfandS001R11.edf. - Place them in your local working directory before executing the pipeline.
Ensure you have Python installed alongside the dependencies listed in requirements.txt:
pip install -r requirements.txt