Python Package: CrossDA
Published:
Package: CrossDA
Title: Cross-session EEG Classification and Domain Adaptation Pipelines
Language: Python
Authors: Yiming Shen and David Degras
License: MIT
Overview
CrossDA is the experiment runner for cross-session EEG classification. It evaluates several strategies for transferring a classifier across recording sessions of the same subject under leave-one-session-out protocols.
Toolkit Role
CrossDA sits between the method libraries and the dashboards. It executes the pipeline families and writes summary, detail, and session-role outputs that can be inspected downstream.
Feature and DA method banks -> CrossDA -> result files -> MSDA-Bench / custom analysis
Pipeline Families
MAP: Merge and Adapt, using all source sessions after supervised method selection.DWP: Distance-Weighted Pooling, using soft inverse-distance source weights.MMP: Minimum-distance Multi-source, using CI-gated source selection with merge-then-adapt or mixture-of-experts combiners.BDP: Bridge-Domain Proxy, separating bridge and far sessions for proxy-tuned adaptation.
Main Capabilities
- CLI and Python API for reproducible runs.
- Method banks over feature families, classifiers, DA methods, and distance metrics.
- Dataset support for BNCI2014-004, Stieger2021, and Ma2020 workflows.
- Per-subject summaries, detailed run records, and role CSVs documenting source, bridge, far, and target session assignments.
