BrainState outputs.
Time to complete: ~10 minutesThis guide covers installation, Personalizer (product path), classical heads, and online updates. Deeper topics link out below.
Prerequisites
Before you begin:- Python ≥ 3.11 installed
- Embeddings from a frozen trunk, or preprocessed features (CSP, bandpower, etc.) — see Encoder contract and preprocessing requirements
1
Install nimbus-bci
Install from PyPI:For MNE-Python integration:Verify installation:
2
Personalizer (product path)
Wrap a frozen encoder and adapt online:
Prefer factories:
for_deployment (strict gating), for_research (permissive + knobs), for_features (no trunk). Full contract: Personalizer & Middleware.3
Classical features (optional)
Already have CSP / bandpower vectors? Use a head directly or
Personalizer.for_features:4
sklearn pipeline
Use nimbus-bci with sklearn pipelines:
5
Online updates
Update with new labeled trials via
adapt / partial_fit, and optionally gate with recommend_adapt:Trial rejection (
BrainState.rejected / need_more_data) is a different gate from adapt recommendations. Presets are strict / permissive (0.6 rename). See BrainState and Migration to 0.6.Available heads
Continue with
Personalizer & Middleware
Encoder contract, adapt helper, BrainState
Active Learning
CalibrationSession and label-efficient calibrationStreaming Inference
Chunk-by-chunk real-time processing
MNE Integration
Epochs → features or frozen encoder
sklearn Integration
Pipelines, CV, and GridSearch
API Reference
Full symbol reference
Quickstart FAQ
Can I use nimbus-bci with raw EEG?
Can I use nimbus-bci with raw EEG?
Not directly. Expect embeddings or preprocessed features (CSP, bandpower, ERP). See Preprocessing Requirements.
Which classifier should I start with?
Which classifier should I start with?
Start with
NimbusLDA (default Personalizer head). Try NimbusQDA for overlapping distributions, and NimbusSTS for non-stationary sessions.Where do Riemannian / P300 recipes live?
Where do Riemannian / P300 recipes live?
Optional extra:
pip install nimbus-bci[riemann], then Personalizer.for_riemann(...), Personalizer.for_p300(...), or make_riemann_nimbus_pipeline(...). See sklearn Integration and the API reference.Support
- Email: hello@nimbusbci.com
- Docs: docs.nimbusbci.com
- PyPI: pypi.org/project/nimbus-bci