MNE-Python is free, open source, extensively documented and the reference implementation for a lot of EEG, MEG and fNIRS methods in Python. If you write code and want full control, it is very hard to beat, and BCILattice does not try to.
The gap is that a library is not a study. Using MNE for a decoding study still means writing the loading code, preprocessing, epoching, feature extraction, model, cross-validation, statistics and figures yourself. BCILattice packages that path as an application, and uses MNE among other libraries under the hood.
Library or application
| MNE-Python | BCILattice | |
|---|---|---|
| Shape | Python library | Desktop application |
| You write | The whole pipeline | Nothing required; Python optional |
| Source space | Excellent | Not supported |
| Decoding | mne.decoding with scikit-learn; you build evaluation | Canvas of classical, Riemannian and deep models with grouped, LOSO and nested CV |
| Provenance | Whatever your scripts record | Every step writes a named stage with its parameters |
| File formats | Very broad | EDF, BDF, GDF, FIF, VHDR, SET, CNT, SNIRF, tabular |
The same numerical foundations
BCILattice's processing is built on MNE, NumPy, SciPy and scikit-learn, with PyTorch for deep models. ICA can run with Picard (via MNE) or FastICA (scikit-learn). The numerical behaviour is what a Python pipeline would produce, with the parameters in a UI instead of a call signature.
It also reads FIF, MNE's native format, so data saved from an MNE script can be brought in at any stage.
Which to use
MNE-Python
You program, you need source space or a method no application exposes, or the analysis is part of a larger codebase.
BCILattice
The question is decoding, you want results without engineering time, or several people with different skills share the study.
Both
Script the parts that need code in MNE, and run decoding and evaluation in BCILattice. The results notebook runs Python against the study in-process.
Questions
Is there a GUI for MNE-Python?
MNE has interactive plotting and browsing tools, but analysis is scripted. BCILattice provides a full graphical application for EEG preprocessing, decoding and evaluation, built on the same Python stack.
Can BCILattice read MNE .fif files?
Yes. FIF imports directly, so data saved from an MNE workflow can continue in BCILattice.
Does BCILattice do source localisation like MNE?
No. For source-space analysis, use MNE-Python, Brainstorm or FieldTrip.
Read the reference
Related
EEGLAB Alternative for EEG Decoding and ML
EEGLAB is excellent at what it was built for. If your work has moved toward classifiers, deep models and cross-subject evaluation, BCILattice picks up where EEGLAB stops, and it reads your .set files.
No-Code EEG Analysis and Machine Learning
A complete EEG study, from filtering through a cross-validated deep model, as visual steps you can inspect. Python stays available for the cases where you want it.
EEG Analysis Tools Compared
The honest answer to "which EEG tool should I use" is that they solve different problems. Here is what each is strongest at, and where BCILattice fits.
BCI Software and Tools Compared
Some BCI tools run a live system, some are libraries you program against, and some carry an offline study from recording to result. Most labs need more than one.