EEGPrep#
EEGPrep is a modernized Python port of core
EEGLAB preprocessing
workflows for EEG researchers. It preserves familiar concepts such as
EEG, ALLEEG, pop_* commands,
EEGBrowser review, ICA/component workflows, STUDY analyses, and command
history, while making those workflows easier to run, review, automate,
and share from Python.
Use this manual to move from a first dataset to a reproducible workflow. Start
with the sample data, try the same steps in the GUI and eegprep-console,
then turn the recorded pop_* history into scripts, pipelines, or
agent-assisted analyses.
Install EEGPrep, launch the GUI/console, load eeglab_data.set, inspect
the EEG structure, and save the result.
Understand EEG, ALLEEG, events, epochs, channel locations, ICA
fields, STUDY, and history replay.
Keep the main window and eegprep-console side by side: run menu
actions, inspect EEG and history, then continue from Python.
Run menu workflows for filtering, rejection, ICA, ICLabel, EEGBrowser, STUDY, and DIPFIT while tracking the same session from the console.
Convert menu history into reusable Python scripts and batch workflows.
Use the EEGPrep CLI, JSON outputs, manifests, pipeline plans, and bundled agent skill guidance for AI-assisted EEG research projects.
Manual#
Workflows
Reference
- Functions
- Core and Session
- GUI and Console
- Data Loading and Saving
- BIDS
- Preprocessing and Artifacts
- Epoching and Selection
- ICA and Components
- Filtering and Signal Processing
- Time-Frequency
- Plotting and Topography
- Statistics
- STUDY Workflows
- Interactive Pop Workflows
- Extension SDK and Registry
- Minimal extension entry point
- Status model
- Catalog and Governance
- Author Test Harness
- Extension Manager and catalog
- Authoring examples
- API Reference
- FAQ
- References
Five-Minute Script#
Load the checked-in tutorial dataset, run two common preprocessing steps, and keep the replayable command strings.
from pathlib import Path
from eegprep import pop_eegfiltnew, pop_loadset, pop_resample, pop_saveset
sample = Path("sample_data") / "eeglab_data.set"
EEG = pop_loadset(sample)
EEG, filter_com = pop_eegfiltnew(EEG, locutoff=1.0, hicutoff=40.0, return_com=True)
EEG, resample_com = pop_resample(EEG, 64, return_com=True)
pop_saveset(EEG, Path("sample_data") / "eeglab_data_preprocessed.set")
print(filter_com)
print(resample_com)
Where EEGLAB Users Should Go First#
If you know EEGLAB as… |
Start here in EEGPrep |
|---|---|
|
|
GUI menus plus MATLAB command history |
GUI and Console Together, GUI Tutorials, and Interactive Console |
|
|
clean_rawdata, FIRFilt, ICLabel, DIPFIT, EEG-BIDS |
|
EEGBrowser and visual rejection |
|
STUDY workflows |
|
MNE-Python interop |
Core Maintainers#
Arnaud Delorme, UCSD, CA, USA
Suraj Ranganath, UCSD, CA, USA
Christian Kothe, Intheon, CA, USA
Bruno Aristimunha Pinto, Inria, France