Skip to content

mne-tools/mne-cpp

MNE-CPP

Version 2.1.0  Release  Staging  CodeCov
CodeQL  Coverity  Gitter


MNE-CPP is an open-source, cross-platform C++ framework for real-time and offline processing of MEG, EEG, and related neurophysiological data. It provides modular libraries and ready-to-use applications — from data browsing and 3D visualization to real-time acquisition and source localization. For documentation please visit mne-cpp.github.io.

Try it now

No install required — runs entirely in your browser via WebAssembly. Your data stays on your machine.

Application Description Release Nightly
MNE Browse MNE Browse Browse raw MEG/EEG data with filtering, events, averaging, ICA Open Open
MNE Inspect MNE Inspect 3D visualization of brain surfaces, source estimates, and forward models Open Open

Applications

Application Description
MNE Browse Raw data browsing, filtering, event detection, averaging, ICA, and covariance computation
MNE Inspect Interactive 3D visualization of brain surfaces, source estimates, and forward models
MNE Scan Real-time acquisition and processing pipeline — MEGIN, BabyMEG, BrainAmp, eegosports, gUSBAmp, TMSI, Natus, LSL, FieldTrip Buffer
MNE Analyze Sensor- and source-level analysis: browsing, filtering, averaging, co-registration, dipole fitting, source localization
MNE Analyze Studio Agent-oriented analysis workbench with LLM-driven skill host, neuro kernel, and extension SDK
MNE Dipole Fit Sequential equivalent current dipole fitting for focal brain activity

50+ command-line tools for BEM models, forward/inverse computation, data conversion, anonymization, and streaming — C++ ports of the original MNE-C utilities.

Libraries

Library Description
Fiff FIFF file I/O and data structures (raw, epochs, evoked, covariance, projections)
Mne Core MNE data structures — source spaces, source estimates, hemispheres
Fwd Forward modelling — BEM and MEG/EEG lead-field computation
Inv Inverse estimation — MNE, dSPM, sLORETA, eLORETA, LCMV/DICS beamformers, RAP MUSIC, dipole fit, HPI
Dsp Signal processing — FIR/IIR filtering, ICA, xDAWN, SSS/tSSS, Welch PSD, Morlet TFR, resampling, SPHARA
Conn Connectivity — coherence, PLV, PLI, WPLI, cross-correlation, network analysis
Disp3D 3D brain visualization (Metal / Vulkan / D3D / OpenGL via Qt RHI)

All libraries depend only on Qt and Eigen. See the API documentation.

Development

Build from source

# Linux / macOS
git clone --recursive https://github.com/mne-tools/mne-cpp.git && cd mne-cpp
./init.sh && cmake --build build/developer-dynamic --parallel
# Windows
git clone --recursive https://github.com/mne-tools/mne-cpp.git && cd mne-cpp
.\init.bat
cmake --build build\developer-dynamic --parallel

init downloads Qt and Eigen into src/external/, then configures CMake. Run ./init.sh --help for all options (linkage, build type, custom Qt path, etc.).

Requirements

CMake ≥ 3.21 and a C++17 compiler:

Platform Compiler
Windows MSVC 2022+
Linux GCC ≥ 13
macOS Xcode ≥ 16

For the full build guide see the documentation.

Contributing

If you want to contribute to MNE-CPP you can find all the information you need here.

Releases

Pre-built binaries for Windows, macOS, and Linux are available on the download page.

Contact

A list of contact persons can be found here.

License

MNE-CPP is licensed under the BSD-3-Clause license.