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.
No install required — runs entirely in your browser via WebAssembly. Your data stays on your machine.
| Application | Description | Release | Nightly | |
|---|---|---|---|---|
| MNE Browse | Browse raw MEG/EEG data with filtering, events, averaging, ICA | Open | Open | |
| MNE Inspect | 3D visualization of brain surfaces, source estimates, and forward models | Open | Open |
| 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.
| 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.
# 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 --parallelinit downloads Qt and Eigen into src/external/, then configures CMake. Run ./init.sh --help for all options (linkage, build type, custom Qt path, etc.).
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.
If you want to contribute to MNE-CPP you can find all the information you need here.
Pre-built binaries for Windows, macOS, and Linux are available on the download page.
A list of contact persons can be found here.
MNE-CPP is licensed under the BSD-3-Clause license.