MNE-Python power, without writing the script

MNE-Python is a library, and the best one for scripted EEG analysis. BCILattice is an application built on the same stack, for when you would rather click through a study than program it.

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-PythonBCILattice
ShapePython libraryDesktop application
You writeThe whole pipelineNothing required; Python optional
Source spaceExcellentNot supported
Decodingmne.decoding with scikit-learn; you build evaluationCanvas of classical, Riemannian and deep models with grouped, LOSO and nested CV
ProvenanceWhatever your scripts recordEvery step writes a named stage with its parameters
File formatsVery broadEDF, 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

Run a study end to end, on your own machine

The free plan covers two studies, the full analysis suite, and 118 of the 119 ML blocks.