A modular framework for automated EEG data processing, built on MNE-Python
Project description
AutoCleanEEG Pipeline
A modular framework for automated EEG data processing, built on MNE‑Python.
Features
- Framework for automated EEG preprocessing with "lego block" modularity
- Support for multiple EEG paradigms (ASSR, Chirp, MMN, Resting State)
- BIDS-compatible data organization and comprehensive quality control
- Extensible plugin system for file formats, montages, and event processing
- Research-focused workflow: single file testing → parameter tuning → batch processing
- Detailed output: BIDS‑compatible derivatives, single task log file, stage files, exports, and QA visualizations
Installation (uv)
Use Astral's uv for fast, isolated installs. If you don't have uv yet, see https://docs.astral.sh/uv/
- Install CLI (recommended for users):
uv tool install autocleaneeg-pipeline
autocleaneeg-pipeline --help
- Upgrade or remove:
uv tool upgrade autocleaneeg-pipeline
uv tool uninstall autocleaneeg-pipeline
- Development install from source:
git clone https://github.com/cincibrainlab/autocleaneeg_pipeline.git
cd autoclean_pipeline
uv tool install -e --upgrade .
Quick Start
Process a file using a built-in task:
autocleaneeg-pipeline process RestingEyesOpen /path/to/data.raw
List tasks and show overrides:
autocleaneeg-pipeline task list
## Output Structure
Each processing task writes to a self‑contained folder under your chosen output directory. The structure is designed to keep task‑level artifacts at the task root while maintaining a clean BIDS derivatives tree.
Example (per task):
/ bids/ dataset_description.json derivatives/ dataset_description.json 01_import/ 02_resample/ ... 16_comp/ sub-/eeg/... (primary BIDS data written by mne-bids)
exports/ # Final exported files and convenience copies (CSV/log) ica/ # ICA FIF files + ica_control_sheet.csv logs/ pipeline.log # Single consolidated log for all runs in this task qa/ *_fastplot_summary.(tiff|png) reports/ run_reports/ *_autoclean_report.pdf *_processing_log.csv # Per-file processing CSVs *_autoclean_report_flagged_channels.tsv
preprocessing_log.csv # Combined, task-level processing log (no task prefix)
Key points:
- Task‑root folders use concise names: `exports/`, `ica/`, `logs/`, `qa/`, `reports/`.
- Stage files go directly under `bids/derivatives/` as numbered folders (no `intermediate/`).
- No reports or per‑subject folders are created in derivatives.
- `dataset_description.json` is present at both `bids/` and `bids/derivatives/`.
## BIDS + Branding
- The BIDS `dataset_description.json` is post‑processed to:
- Set `Name` to the task name.
- Add `GeneratedBy` entry for `autocleaneeg-pipeline` with version.
- Remove placeholder Authors inserted by MNE‑BIDS if present.
## Logs
- A single log file per task lives at `<task>/logs/pipeline.log`.
- Console output level matches your `--verbose` choice; file logs capture the same level.
- If you want rotation (e.g., `10 MB`), we can enable it; default is a single growing file.
## Processing Logs (CSV)
- Per‑file: `<task>/reports/run_reports/<basename>_processing_log.csv`.
- Combined (task‑level): `<task>/preprocessing_log.csv` (no taskname prefix).
- A convenience copy of the per‑file CSV is dropped into `exports/`.
## ICA Artifacts
- ICA FIF files and the editable control sheet live in `<task>/ica/`:
- `<task>/ica/<basename>-ica.fif`
- `<task>/ica/ica_control_sheet.csv`
## QA Visualizations
- Fastplot summary images go to `<task>/qa/`.
- The review GUI auto‑discovers images from `reports/` and `qa/`.
## Removed Legacy Folders
This release removes the old locations and naming used during development:
- No `metadata/` folder at the task root (JSONs are in `reports/run_reports/`).
- No `final_files/` or `final_exports/` (use `exports/`).
- No `ica_fif/` (use `ica/`).
- No `qa_review_plots/` (use `qa/`).
- No versioned derivatives folder (e.g., `autoclean-vX`) — derivatives are directly under `bids/derivatives/`.
## CLI Tips
- Process a single file:
```bash
autocleaneeg-pipeline process RestingEyesOpen /path/to/file.set
- Open the review GUI for an output directory:
autocleaneeg-pipeline review --output /path/to/output
- Apply ICA control‑sheet edits (reads
<task>/ica/ica_control_sheet.csvby default when a metadata path is provided):
autocleaneeg-pipeline process ica --metadata-dir /path/to/task/reports
## Documentation
Full documentation is available at [https://docs.autocleaneeg.org](https://docs.autocleaneeg.org)
## Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Cincinnati Children's Hospital Research Foundation
- Built with [MNE-Python](https://mne.tools/)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autocleaneeg_pipeline-2.3.0.tar.gz.
File metadata
- Download URL: autocleaneeg_pipeline-2.3.0.tar.gz
- Upload date:
- Size: 547.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
645bbc790e4c1824af31743059000f0002f61b8a07c7eeba8e681bccdac8c63c
|
|
| MD5 |
c339e2cf0af81bb98e19694ca2f58c5c
|
|
| BLAKE2b-256 |
af0b6458882666fa320364820fb1c7207416190cd22b0b2ab0c0603febbe44fb
|
File details
Details for the file autocleaneeg_pipeline-2.3.0-py3-none-any.whl.
File metadata
- Download URL: autocleaneeg_pipeline-2.3.0-py3-none-any.whl
- Upload date:
- Size: 485.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be62b9cd07bde7b42e097321bec0e1f9a0a024d27ca49488b1671901f936855e
|
|
| MD5 |
da0a5aca78641d1b45847730384286fc
|
|
| BLAKE2b-256 |
ceca8899bff3867fe55319df4353ded8aea000b0eba2801242d6ab025f8bb635
|