This repository hosts a Jupyter notebook for loading, preprocessing, and analyzing the BigP3BCI dataset, focusing on P300 oddball event‑related potentials (ERPs) in an EEG brain–computer interface (BCI) paradigm.
-
BIGP3BDataset_EEG_BCI.ipynb
– The main analysis notebook:- Reading and filtering raw EDF files
- Channel renaming and montage setting
- Event detection and onset index computation
- Epoching target vs. non‑target trials
- ERP averaging and comparison at midline electrodes (Fz, Cz, Pz)
- Feature extraction via windowed means and classifier pipeline
- Python ≥ 3.10
- Conda for environment management
-
Clone this repository:
git clone https://github.com/yourusername/BIGP3B_EEG_BCI.git cd BIGP3B_EEG_BCI
-
Create and activate a Conda environment:
conda create -n bci_env python=3.10 -y conda activate bci_env
-
Install required packages:
conda install -c conda-forge mne numpy scipy pandas matplotlib jupyter -y
-
Download the BigP3BCI data (e.g. from PhysioNet):
# example: place `C_04_SE001_CB_Train02.edf` and related files in `data/`
-
Launch Jupyter Lab or Notebook:
jupyter lab
-
Open and run
BIGP3BDataset_EEG_BCI.ipynb
:- Step through cells to preprocess, epoch, and visualize P300 ERPs.
- Modify parameters (e.g., epoch window, channels) as needed.
The BigP3BCI dataset contains single‑trial EEG recordings during an auditory oddball task. Key channels:
- StimulusBegin – Square pulse indicating flash onset
- StimulusType – Code for target vs. non‑target
- PhaseInSequence – Position in the stimulus sequence
Refer to the dataset documentation for full details: https://physionet.org/content/bigp3bci/1.0.0/
This project is licensed under the MIT License. See LICENSE for details.
© 2025 Andy Gibson