Skip to main content
Production-ready Bayesian BCI inference with RxLDA and RxGMM models NimbusSDK.jl provides fast, probabilistic inference for Brain-Computer Interface applications. Built on RxInfer.jl, the SDK delivers sub-20ms inference latency with full uncertainty quantification through RxLDA (Linear Discriminant Analysis) and RxGMM (Gaussian Mixture Model) implementations.

Why Nimbus BCI

Brain-Computer Interfaces face unique challenges: noisy neural signals, inherent uncertainty, real-time requirements, and the need for explainability in medical applications. Current BCI Challenges:
  • High Latency: Standard processing takes 200ms+ for trial classification
  • No Uncertainty Quantification: Deterministic outputs without confidence measures
  • Limited Adaptability: Cannot handle changing brain states or signal quality
  • Black Box Models: Deep learning lacks explainability for FDA approval
Nimbus Solution:
  • Fast Inference: 10-20ms per trial with Bayesian models
  • Uncertainty Quantification: Full posterior distributions, not just point estimates
  • Training & Calibration: Subject-specific personalization in minutes
  • Explainable: White-box probabilistic models for medical compliance
  • Production-Ready: Batch and streaming modes, quality assessment, performance tracking

Get started with Nimbus

Build your first BCI application in 10 minutes with Julia and NimbusSDK.jl

Core Features

Implemented Models

NimbusSDK.jl currently provides two production-ready Bayesian models:

BCI Paradigms Supported

Motor Imagery

2-4 class classification
  • Left/right hand
  • Hands/feet/tongue
  • 70-90% accuracy
  • RxLDA recommended

P300

Binary classification
  • Target/non-target
  • Speller applications
  • 80-95% accuracy
  • RxGMM recommended

SSVEP

Multi-class frequency
  • 2-6 target frequencies
  • High accuracy (85-98%)
  • Works with both models

Quick Example

using NimbusSDK

# 1. One-time setup: Install core with your API key
NimbusSDK.install_core("nbci_live_your_key")

# 2. Load pre-trained model
model = load_model(RxLDAModel, "motor_imagery_4class_v1")

# 3. Prepare preprocessed features (CSP, bandpower, etc.)
data = BCIData(csp_features, metadata, labels)

# 4. Run inference
results = predict_batch(model, data)

# 5. Analyze
println("Accuracy: $(sum(results.predictions .== labels) / length(labels))")
println("Mean confidence: $(mean(results.confidences))")
println("ITR: $(calculate_ITR(accuracy, 4, 4.0)) bits/minute")

Use Cases

SDK Architecture

EEG Hardware → Preprocessing → NimbusSDK.jl → Application
   (LSL/BrainFlow)  (MNE/EEGLAB)    (Local)      (Your Code)
Key Design:
  • Local Inference: No API calls during inference - all processing on your machine
  • Privacy: Your EEG data never leaves your computer
  • Speed: No network latency, consistent <20ms performance
  • Offline Capable: Works without internet after initial setup
API Role:
  • Authentication and licensing
  • Pre-trained model distribution
  • Optional analytics logging

Getting Started

1

Install Julia SDK

using Pkg
Pkg.add("NimbusSDK")

# One-time setup: Install core with your API key
using NimbusSDK
NimbusSDK.install_core("your-api-key")
2

Get API Key

Contact hello@nimbusbci.com for your API key and license tier
3

Preprocess EEG

Use MNE-Python, EEGLAB, or your tool to extract features (CSP, bandpower, ERP)
4

Run Inference

Load model, process features, get predictions with confidence scores

Documentation

Performance

MetricRxLDARxGMM
Inference Latency10-15ms15-25ms
Training Time10-30s15-40s
Calibration Time5-15s8-20s
Memory UsageLowModerate
Accuracy70-90% (MI)80-95% (P300)
All measurements on standard CPU (no GPU required).

Technology Stack

  • Core: Julia 1.9+
  • Inference Engine: RxInfer.jl - Reactive message passing for Bayesian inference
  • Models: RxLDA (shared covariance), RxGMM (class-specific covariances)
  • Preprocessing: MNE-Python, EEGLAB, BrainFlow (external)
  • API: TypeScript/Vercel serverless (authentication, model registry)

Roadmap

Currently Implemented:
  • ✅ RxLDA and RxGMM models
  • ✅ Batch and streaming inference
  • ✅ Training and calibration
  • ✅ Quality assessment and ITR calculation
  • ✅ API authentication and model registry
Coming Soon:
  • 🚧 Autoregressive (AR) models for rhythm analysis
  • 🚧 Hidden Markov Models (HMM) for state detection
  • 🚧 Kalman filtering for signal processing
  • 🚧 POMDP decision-making frameworks
  • 🚧 Multi-modal sensor fusion

Support

License

NimbusSDK.jl is commercial software with tiered licensing:
  • Free: 10K monthly inferences, basic models
  • Research: 50K monthly inferences, all features
  • Commercial: 500K monthly inferences, priority support
  • Enterprise: Unlimited, custom models, on-premise deployment
Contact hello@nimbusbci.com for licensing information.
Built with ❤️ for the neurotechnology community Nimbus BCI Engine - Bringing Bayesian inference to Brain-Computer Interfaces