DocsTech Stack
BCILattice Documentation
Tech Stack
Open-source libraries that power BCILattice.
v1.0BCINexus Platform · 2026-05-20support@bcinexus.io
Signal Processing
| Library | Purpose |
|---|---|
| MNE-Python | EEG / fNIRS / MEG reading, filtering, referencing, resampling, and epoch extraction |
| NumPy | Core numerical arrays and vectorised signal operations |
| SciPy | Statistical tests, FFT, spectral analysis, feature extraction |
| PyWavelets | Wavelet decomposition for time-frequency signal features |
| librosa | Audio-domain signal features (spectral, rhythm) applied to EMG/EEG envelopes |
| pyts | Time-series image transformations (Gramian Angular Field, Recurrence Plot) |
Machine Learning
| Library | Purpose |
|---|---|
| PyTorch | Deep learning models, EEGNet, DeepConvNet, Transformer, LSTM, custom architectures |
| scikit-learn | Classical ML, LDA, SVM, Random Forest, cross-validation, preprocessing, metrics |
| ONNX Runtime | Inference engine for exported ONNX models (edge deployment) |
| SHAP | Model explainability, feature importance and channel contribution plots |
| Pandas | Tabular data handling for feature frames and session metadata |
Desktop Interface
| Library | Purpose |
|---|---|
| PyQt6 | Native cross-platform desktop UI, windows, panels, dialogs, canvas widgets |
| PyQtGraph | Real-time signal viewer with GPU-accelerated rendering |
| QtAwesome | Font Awesome icon integration throughout the UI |
| Matplotlib | Analysis plots, channel scores, PCA scatter, feature distributions |
Data & Experiment Tracking
| Library | Purpose |
|---|---|
| MLflow | Experiment tracking, logs every training run, parameters, metrics, and model artefacts |
| PostgreSQL | Local database for session records, pipeline history, and settings |
| SQLAlchemy | Database ORM layer |
Export & Reports
| Library | Purpose |
|---|---|
| Jinja2 | HTML templating for auto-generated session reports |
| WeasyPrint | HTML → PDF conversion for report export |
| OpenCV (cv2) | Image processing for signal projection visualisations |
Licences
All libraries used by BCILattice are open-source. Key licences:
| Library | Licence |
|---|---|
| PyQt6 | GPL v3 / Commercial |
| PyTorch | BSD 3-Clause |
| scikit-learn | BSD 3-Clause |
| MNE-Python | BSD 3-Clause |
| NumPy | BSD 3-Clause |
| SciPy | BSD 3-Clause |
| Pandas | BSD 3-Clause |
| MLflow | Apache 2.0 |
| PostgreSQL | PostgreSQL Licence |
| ONNX Runtime | MIT |
| SHAP | MIT |
| Jinja2 | BSD 3-Clause |
| WeasyPrint | BSD 3-Clause |
| PyQtGraph | MIT |
| OpenCV | Apache 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