https://github.com/mne-tools/mne-cpp
MNE-CPP: The C++ framework for real-time functional brain imaging.
https://github.com/mne-tools/mne-cpp
analysis biomedical-informatics c-plus-plus clinical cmake computational-neuroscience eeg electroencephalography healthcare magnetoencephalography medical-imaging meg neuroimaging neuroscience qt real-time signal-processing visualization
Last synced: 13 days ago
JSON representation
MNE-CPP: The C++ framework for real-time functional brain imaging.
- Host: GitHub
- URL: https://github.com/mne-tools/mne-cpp
- Owner: mne-tools
- License: bsd-3-clause
- Created: 2012-08-29T13:33:22.000Z (almost 14 years ago)
- Default Branch: staging
- Last Pushed: 2026-04-29T22:27:07.000Z (about 1 month ago)
- Last Synced: 2026-04-30T00:35:53.978Z (about 1 month ago)
- Topics: analysis, biomedical-informatics, c-plus-plus, clinical, cmake, computational-neuroscience, eeg, electroencephalography, healthcare, magnetoencephalography, medical-imaging, meg, neuroimaging, neuroscience, qt, real-time, signal-processing, visualization
- Language: C++
- Homepage: https://mne-cpp.org/
- Size: 99.9 MB
- Stars: 170
- Watchers: 16
- Forks: 140
- Open Issues: 65
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
-----------------
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](https://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** | Browse raw MEG/EEG data with filtering, events, averaging, ICA | [**Open**](https://mne-cpp.github.io/wasm/mne_browse.html) | [**Open**](https://mne-cpp.github.io/wasm/dev/mne_browse.html) |
|
| **MNE Inspect** | 3D visualization of brain surfaces, source estimates, and forward models | [**Open**](https://mne-cpp.github.io/wasm/mne_inspect.html) | [**Open**](https://mne-cpp.github.io/wasm/dev/mne_inspect.html) |
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](https://mne-cpp.github.io/docs/manual/tools-overview) for BEM models, forward/inverse computation, data conversion, anonymization, and streaming — C++ ports of the original [MNE-C](http://www.nmr.mgh.harvard.edu/martinos/userInfo/data/MNE_register/index.php) 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 |
| **Connectivity** | Connectivity — coherence, PLV, PLI, WPLI, cross-correlation, network analysis |
| **Disp3D** | 3D brain visualization (Metal / Vulkan / D3D / OpenGL via Qt RHI) |
All libraries depend on [Qt](https://www.qt.io/), [Eigen](http://eigen.tuxfamily.org/), and [skigen](https://github.com/skigen-project/skigen) (header-only scikit-learn-equivalent algorithms backing ML/decoding). See the [API documentation](https://mne-cpp.github.io/docs/development/api).
Development
-----------
### Build from source
```bash
# Linux / macOS
git clone --recursive https://github.com/mne-tools/mne-cpp.git && cd mne-cpp
./init.sh && cmake --build build/developer-dynamic --parallel
```
```bash
# 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, Eigen, and skigen into `src/external/`, then configures CMake. Run `./init.sh --help` for all options (linkage, build type, custom Qt path, etc.).
### Requirements
[CMake](https://cmake.org/download/) ≥ 3.21 and a C++17 compiler:
| Platform | Compiler |
|----------|----------|
| Windows | [MSVC](https://visualstudio.microsoft.com/vs/) 2022+ |
| Linux | [GCC](https://gcc.gnu.org/releases.html) ≥ 13 |
| macOS | [Xcode](https://developer.apple.com/xcode/) ≥ 16 |
For the full build guide see the [documentation](https://mne-cpp.github.io/docs/development/buildguide-cmake).
### Contributing
If you want to contribute to MNE-CPP you can find all the information you need [here](https://mne-cpp.github.io/docs/development/contribute).
Releases
--------
Pre-built binaries for Windows, macOS, and Linux are available on the [download page](https://mne-cpp.github.io/download).
Contact
-------
A list of contact persons can be found [here](https://mne-cpp.github.io/docs/overview#contact).
License
-------
MNE-CPP is licensed under the [BSD-3-Clause license](LICENSE).