Skip to main content
Maps common BCI product scenarios to Nimbus Personalizer and head choices. Pattern-focused — use Basic Examples and Advanced Applications for implementation recipes.
Shipping an app on a frozen partner / foundation encoder? Lead with Personalizer → BrainState. Heads (NimbusLDA, …) power Personalizer (head="lda"|...) and also work standalone on classical features.

Healthcare and rehabilitation

Scenario: motor imagery rehabilitation after stroke or injury. Recommended pattern:
  • Prefer Personalizer when a frozen trunk is available; otherwise Personalizer(encoder=None) on CSP / bandpower features.
  • Start with head="lda" for fast baseline feedback.
  • Use BrainState.need_more_data / rejected to decide whether feedback should be shown.
  • Track session-level accuracy, confidence, fatigue indicators, and rejection rate.
  • Keep a clinician-visible audit trail for model version, calibration data, and session metrics.
Key docs:

Assistive communication

Scenario: P300 or event-related communication interfaces. Recommended pattern:
  • Use ERP amplitude features in a consistent post-stimulus window (or a frozen encoder that emits trial embeddings).
  • Prefer Personalizer(encoder=None, head="qda") when target and non-target distributions overlap.
  • Use BrainState confidence / rejection to decide between accept, confirm, or repeat.
  • Log rejected selections separately from incorrect selections.
Key docs:

Wheelchair or device control

Scenario: safety-critical control from motor imagery or hybrid BCI commands. Recommended pattern:
  • Separate Personalizer / head output (BrainState) from command execution.
  • Require higher confidence for movement than for UI navigation.
  • Add a confirmation state for ambiguous commands (need_more_data / mid confidence).
  • Stop the control loop after repeated rejected trials.
  • Monitor latency budget end to end: acquisition, preprocess / encode, inference, and action.
Key docs:

Neurofeedback and training

Scenario: live feedback for attention, motor imagery, or cognitive training. Recommended pattern:
  • Prefer Personalizer for frozen trunks; use streaming sessions when chunk-level latency matters.
  • Keep outputs probabilistic and expose confidence / BrainState.
  • Adapt difficulty based on recent performance, not a single prediction.
  • Use recommend_adapt + partial_fit for stream updates; NimbusSTS for long-session drift.
Key docs:

Research studies

Scenario: offline experiments, multi-subject evaluation, or model comparison. Recommended pattern:
  • Use batch processing for reproducible offline analysis.
  • Evaluate with subject-wise or session-wise splits when studying generalization.
  • Save preprocessing / encoder ids and normalization parameters with every experiment.
  • Compare Personalizer heads (lda / qda / softmax) before moving to specialized models; report vs fine-tune when relevant (Evidence).
Key docs:

Product analytics

For deployed BCI systems, monitor:

Choosing a starting point

Next read

Personalizer

Product wedge and BrainState

Basic Examples

Compact recipes for common BCI tasks

Advanced Applications

Cross-subject, hybrid, adaptive, and robust deployment

Model Specification

Choose a head family for your use case