EEGPrep#

EEGLAB workflows, modern Python tooling

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.

Start and Load Data

Install EEGPrep, launch the GUI/console, load eeglab_data.set, inspect the EEG structure, and save the result.

Quick Start
Learn the Data Model

Understand EEG, ALLEEG, events, epochs, channel locations, ICA fields, STUDY, and history replay.

Concepts Guide
Work in GUI and Console

Keep the main window and eegprep-console side by side: run menu actions, inspect EEG and history, then continue from Python.

GUI and Console Together
Follow GUI Workflows

Run menu workflows for filtering, rejection, ICA, ICLabel, EEGBrowser, STUDY, and DIPFIT while tracking the same session from the console.

GUI Tutorials
Script the Same Steps

Convert menu history into reusable Python scripts and batch workflows.

Scripting Workflows
Work With Research Agents

Use the EEGPrep CLI, JSON outputs, manifests, pipeline plans, and bundled agent skill guidance for AI-assisted EEG research projects.

Agent-Friendly EEGPrep CLI

Manual#

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

EEG / ALLEEG / CURRENTSET

Concepts Guide

GUI menus plus MATLAB command history

GUI and Console Together, GUI Tutorials, and Interactive Console

pop_* scripts

Scripting Workflows and Interactive Pop Workflow API

clean_rawdata, FIRFilt, ICLabel, DIPFIT, EEG-BIDS

Bundled Plugins and Extensions

EEGBrowser and visual rejection

EEGBrowser Workflows

STUDY workflows

STUDY Workflows

MNE-Python interop

MNE-Python Integration

Core Maintainers#

Indices#