Skip to main content

External Preprocessing Integration

Nimbus expects embeddings or preprocessed features, not raw EEG. This page covers the handoff between external EEG tools and Nimbus SDKs: feature shape, label conventions, export formats, and validation.
For preprocessing theory and recommended feature pipelines, start with Preprocessing Requirements. For Python-native MNE workflows, use Python SDK MNE Integration. Encoder / Personalizer handoff: Personalizer & Middleware.
Exported embedding tables use the same (n_trials, n_features) shape as classical features — feed them to Personalizer(encoder=None) or attach a live encoder via wrap.

What This Page Owns

Use this page when you preprocess outside the SDK language that will run inference:
  • MNE-Python features exported for Julia
  • EEGLAB or MATLAB features exported for Python or Julia
  • OpenViBE feature streams saved to CSV or MAT files
  • Cross-tool shape and label validation

Target Data Shapes

For streaming, chunks should be shaped (n_features, chunk_size).

MNE-Python To Julia

EEGLAB Or MATLAB Export

MATLAB arrays often already use (channels/features, samples, trials), which matches Julia BCIData.
If labels come from a zero-indexed pipeline, convert them before training or evaluation:

OpenViBE CSV Export

OpenViBE often exports time-series rows. Segment the stream into trials before passing data to Nimbus.

Handoff Validation

Run these checks before loading exported data into an SDK:

Normalization Handoff

Estimate normalization parameters on training data only, then save them with the model or exported feature bundle.
See Feature Normalization for the full workflow.

Next Read

Preprocessing Requirements

Feature extraction requirements and paradigm guidance.

Python MNE Integration

Native Python SDK workflows with MNE.

Julia SDK Quickstart

Load exported features into Julia workflows.

Feature Normalization

Keep feature scales consistent across sessions.