Skip to content

chdinh/mne-cpp

 
 

Repository files navigation

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 for building standalone acquisition and analysis applications. For more information and documentation please visit https://mne-cpp.github.io/.

Applications

Try in the browser (WebAssembly)

No install required — runs entirely in your browser. Your data never leaves your machine: the browser is used purely as a runtime environment and all processing happens locally via WebAssembly. Nothing is uploaded to any server.

Application Description
MNE Browse MNE Browse Browse and inspect raw MEG/EEG data with real-time filtering, event detection, and averaging Open
MNE Inspect MNE Inspect Interactive 3D visualization of brain surfaces, source estimates, and forward models Open

Desktop applications

Application Description
MNE Scan Real-time acquisition and processing of MEG/EEG data with a plugin pipeline. Supports MEGIN, BabyMEG, BrainAmp, eegosports, gUSBAmp, TMSI, Natus, LSL, and FieldTrip Buffer.
MNE Analyze Sensor- and source-level analysis GUI: raw data browsing, filtering, averaging, co-registration, dipole fitting, and source localization.
MNE Analyze Studio Agent-oriented analysis workbench with an LLM-driven skill host, neuro kernel, and extension SDK for building composable analysis workflows.
MNE Dipole Fit Sequential equivalent current dipole fitting for localising focal brain activity.

Command-line tools

50+ CLI tools for BEM model creation, forward/inverse computation, data conversion, anonymization, and real-time streaming — all C++ ports of the original MNE-C utilities. See the tools reference.

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 source estimation — MNE, dSPM, sLORETA, eLORETA, LCMV/DICS beamformers, RAP MUSIC, dipole fit, HPI
Dsp Digital signal processing — FIR/IIR filtering, ICA, xDAWN, SSS/tSSS, Welch PSD, Morlet TFR, spectrogram, resampling, bad-channel detection, SPHARA
Conn Functional connectivity — coherence, PLV, PLI, WPLI, cross-correlation, and network analysis
Disp3D 3D brain visualization (Metal/Vulkan/D3D/OpenGL via Qt RHI)

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

Quick start

# Clone and build (Linux / macOS)
git clone --recursive https://github.com/mne-tools/mne-cpp.git && cd mne-cpp
./init.sh && cmake --build build/developer-dynamic --parallel
# Clone and build (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 runs CMake configure. Run ./init.sh --help to see all options (linkage, build type, custom Qt path, etc.).

Requirements

CMake ≥ 3.21 and a C++17 compiler:

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

Qt and Eigen are downloaded automatically by the init script.

For the full build guide see the documentation.

Releases

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

Get involved

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

Contact

A list of contact persons can be found here.

License

MNE-CPP is BSD-licensed (3-clause):

Copyright (c) 2011-2026, authors of MNE-CPP. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
   contributors may be used to endorse or promote products derived from
   this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

About

Applications for MEG and EEG Data Acquisition, Analysis & Visualization

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 95.2%
  • CMake 2.8%
  • Shell 0.5%
  • Batchfile 0.5%
  • HTML 0.3%
  • Python 0.2%
  • Other 0.5%