DocsTech Stack
BCILattice Documentation

Tech Stack

Open-source libraries that power BCILattice.

v1.0BCINexus Platform · 2026-05-20support@bcinexus.io

Signal Processing

LibraryPurpose
MNE-PythonEEG / fNIRS / MEG reading, filtering, referencing, resampling, and epoch extraction
NumPyCore numerical arrays and vectorised signal operations
SciPyStatistical tests, FFT, spectral analysis, feature extraction
PyWaveletsWavelet decomposition for time-frequency signal features
librosaAudio-domain signal features (spectral, rhythm) applied to EMG/EEG envelopes
pytsTime-series image transformations (Gramian Angular Field, Recurrence Plot)

Machine Learning

LibraryPurpose
PyTorchDeep learning models, EEGNet, DeepConvNet, Transformer, LSTM, custom architectures
scikit-learnClassical ML, LDA, SVM, Random Forest, cross-validation, preprocessing, metrics
ONNX RuntimeInference engine for exported ONNX models (edge deployment)
SHAPModel explainability, feature importance and channel contribution plots
PandasTabular data handling for feature frames and session metadata

Desktop Interface

LibraryPurpose
PyQt6Native cross-platform desktop UI, windows, panels, dialogs, canvas widgets
PyQtGraphReal-time signal viewer with GPU-accelerated rendering
QtAwesomeFont Awesome icon integration throughout the UI
MatplotlibAnalysis plots, channel scores, PCA scatter, feature distributions

Data & Experiment Tracking

LibraryPurpose
MLflowExperiment tracking, logs every training run, parameters, metrics, and model artefacts
PostgreSQLLocal database for session records, pipeline history, and settings
SQLAlchemyDatabase ORM layer

Export & Reports

LibraryPurpose
Jinja2HTML templating for auto-generated session reports
WeasyPrintHTML → PDF conversion for report export
OpenCV (cv2)Image processing for signal projection visualisations

Licences

All libraries used by BCILattice are open-source. Key licences:

LibraryLicence
PyQt6GPL v3 / Commercial
PyTorchBSD 3-Clause
scikit-learnBSD 3-Clause
MNE-PythonBSD 3-Clause
NumPyBSD 3-Clause
SciPyBSD 3-Clause
PandasBSD 3-Clause
MLflowApache 2.0
PostgreSQLPostgreSQL Licence
ONNX RuntimeMIT
SHAPMIT
Jinja2BSD 3-Clause
WeasyPrintBSD 3-Clause
PyQtGraphMIT
OpenCVApache 2.0

A full Software Bill of Materials (SBOM) is available on request for enterprise security reviews. Email enterprise@bcinexus.io.

Tech Stack v1.0 · BCINexus Platform · 2026-05-20