Skip to content

cincibrainlab/autocleaneeg_pipeline

AutoCleanEEG Pipeline

Python License Code style: black Docs

AutoCleanEEG Pipeline is a modular framework for automated EEG preprocessing, review, and operational workflows built on MNE-Python.

It is designed for research settings that need reproducible task-driven processing, quality-control outputs, and a path from single-file validation to larger-scale batch or serve-style operation.

What It Includes

  • Modular EEG preprocessing with task-based configuration
  • Support for multiple paradigms including ASSR, Chirp, MMN, and resting state
  • BIDS-aligned outputs and quality-control artifacts
  • Plugin-based extensibility for formats, montages, and event handling
  • Review tooling for inspecting outputs and exclusions
  • Serve/TUI/web tooling in this repository for operational workflows

Requirements

  • Python 3.11 to 3.13
  • uv for the recommended install workflow: https://docs.astral.sh/uv/
  • Optional components depend on workflow. Review GUI support, MATLAB-backed tasks, and Serve worker deployments may require additional local dependencies or services.

Supported Surfaces

  • autocleaneeg-pipeline: primary CLI for processing, workspace, task, and Serve commands
  • autocleaneeg-serve: convenience launcher for the Serve web/API workflow
  • autocleaneeg-tui: terminal UI entrypoint
  • Python API: from autoclean import Pipeline
  • web/: frontend source for the Serve UI

Experimental, legacy, or pending-approval components may exist in-tree, but the surfaces above are the supported public entrypoints for this repository.

Dependency versions are intentionally conservative in this repository to keep research workflows reproducible and to reduce breakage across the processing stack. New documentation and examples should prefer the supported surfaces above rather than older compatibility paths retained in-tree.

Installation

Install The CLI

uv tool install autocleaneeg-pipeline
autocleaneeg-pipeline --help
autocleaneeg-serve --help

Upgrade Or Remove

uv tool upgrade autocleaneeg-pipeline
uv tool uninstall autocleaneeg-pipeline

Install From Source For Development

git clone https://github.com/cincibrainlab/autoclean_pipeline.git
cd autoclean_pipeline
uv tool install -e --upgrade . --force
autocleaneeg-pipeline --help

If you use the Makefile helpers:

  • make install-dev installs contributor tooling only
  • make install-uv-tool installs the runnable CLI/Serve environment
  • make serve-setup installs both for a first Serve run

For contributor workflow, testing, linting, and local docs commands, see CONTRIBUTING.md.

Quick Start

autocleaneeg-pipeline list-tasks List the available built-in and installed tasks.

autocleaneeg-pipeline list-tasks

autocleaneeg-pipeline process RestingEyesOpen /path/to/data.raw Process one file with a built-in task.

autocleaneeg-pipeline process RestingEyesOpen /path/to/data.raw

autocleaneeg-pipeline review --output /path/to/output Open the review flow for a completed output directory.

autocleaneeg-pipeline review --output /path/to/output

autocleaneeg-serve up Start the normal Serve web/API workflow.

autocleaneeg-serve up

Serve Basics

Use the Serve surfaces with this split:

  • autocleaneeg-serve: normal operator launcher for starting, stopping, and checking the Serve daemon
  • autocleaneeg-pipeline serve ...: lower-level workspace, route, validation, queue, dispatcher, and API control surface

autocleaneeg-pipeline serve workspace --mode new --path /path/to/serve-workspace Create a new Serve workspace.

autocleaneeg-pipeline serve workspace --mode new --path /path/to/serve-workspace

autocleaneeg-serve up Start the normal Serve daemon for that workspace.

autocleaneeg-serve up

If you prefer the older alias under the main CLI, use the persisted workspace selection first:

autocleaneeg-pipeline serve workspace use --path /path/to/serve-workspace
autocleaneeg-pipeline serve up

autocleaneeg-pipeline serve up uses the workspace already selected for Serve and does not accept --path. If you need an explicit-path launcher in one command, use autocleaneeg-serve up --path /path/to/serve-workspace.

autocleaneeg-pipeline serve route list --path /path/to/serve-workspace List the routes configured for a Serve workspace.

autocleaneeg-pipeline serve route list --path /path/to/serve-workspace

autocleaneeg-pipeline serve validate --path /path/to/serve-workspace --mode test Validate the Serve configuration before deployment.

autocleaneeg-pipeline serve validate --path /path/to/serve-workspace --mode test

autocleaneeg-pipeline serve deploy --path /path/to/serve-workspace --mode test Deploy the current Serve draft configuration for test mode.

autocleaneeg-pipeline serve deploy --path /path/to/serve-workspace --mode test

autocleaneeg-serve status Check whether the Serve UI and dispatcher are actually operational.

autocleaneeg-serve status

For the full Serve operator workflow, see docs/serve_ui_workflow.rst.

Documentation

GitHub Pages publishing:

  • pushes to main publish the Sphinx docs to GitHub Pages through docs.yml
  • pull requests should only validate the docs build through CI; they do not publish Pages output

Repository Layout

  • src/autoclean/: package source
  • configs/: shipped configuration assets
  • web/: Serve frontend source
  • src/autoclean/api/static/: tracked runtime frontend bundle used by the API/Serve surface
  • docs/: published documentation sources
  • plans/: active engineering plans
  • tests/: unit and integration coverage
  • examples/: maintained example and template material

Generated output such as docs/_build/, plans/_site/, coverage reports, and cache directories is not canonical source.

Development

Common contributor commands:

make help
make check
make format
make lint
make test
make test-cov
make ci-check

Frontend work lives in web/package.json. Run frontend build and test commands from the web/ directory.

Contributing

See:

License

This project is licensed under the MIT License. See LICENSE.md.

Acknowledgments

  • Cincinnati Children's Hospital Research Foundation
  • Built with MNE-Python

About

Automated EEG Processing Software

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors