Skip to content

Example: Source Localization (MNE-Python)

This page explains the source_localization_pipeline_mne.signalJourney.json example file, documenting a source localization workflow using distributed source modeling with MNE-Python.

Pipeline Overview

This MNE-Python pipeline demonstrates brain source localization using forward/inverse modeling: - Load preprocessed evoked data from averaged epochs - Setup source space using FreeSurfer fsaverage template - Compute BEM solution for head modeling - Create forward solution (leadfield matrix) - Compute noise covariance from baseline periods - Create inverse operator for source estimation - Apply dSPM inverse solution to estimate source time courses

Pipeline Flowchart

flowchart TD
    A[Load Evoked Data
mne.read_evokeds] --> B[Setup Source Space
mne.setup_source_space] B --> C[Compute BEM Solution
mne.make_bem_solution] C --> D[Create Forward Solution
mne.make_forward_solution] D --> E[Compute Covariance
mne.compute_covariance] E --> F[Create Inverse Operator
mne.minimum_norm.make_inverse_operator] F --> G[Apply dSPM Solution
mne.minimum_norm.apply_inverse] %% Input files H["📁 sub-01_task-rest_ave.fif
Averaged evoked data"] --> A I["📁 sub-01_task-rest_epo.fif
Epochs for covariance"] --> E J["📁 fsaverage
Template brain anatomy"] --> B K["📁 BEM surfaces
Head model"] --> C %% Inline data B --> V1["📊 Source Spacing
oct6 (4098 vertices)"] C --> V2["📊 Conductivity
[0.3, 0.006, 0.3] S/m"] F --> V3["📊 SNR Parameters
λ² = 1/SNR²"] %% Final outputs G --> L["💾 sub-01_task-rest_desc-dSPM_stc.h5
Source time courses"] G --> M["💾 sub-01_task-rest_desc-sources_plot.png
Brain activation plot"] %% Quality metrics D --> Q1["📈 Forward channels: 64
Source points: 4098"] G --> Q2["📈 Peak activation: 15.2 dSPM
Location: Left STG"] %% Styling classDef processStep fill:#e1f5fe,stroke:#01579b,stroke-width:2px classDef inputFile fill:#fff3e0,stroke:#e65100,stroke-width:2px classDef outputFile fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px classDef inlineData fill:#f3e5f5,stroke:#4a148c,stroke-width:1px classDef qualityMetric fill:#f9f9f9,stroke:#666,stroke-width:1px class A,B,C,D,E,F,G processStep class H,I,J,K inputFile class L,M outputFile class V1,V2,V3 inlineData class Q1,Q2 qualityMetric

Key MNE-Python Features Demonstrated

Source Localization Functions

  • mne.read_evokeds: Load averaged evoked responses from FIF files
  • mne.setup_source_space: Create source space from FreeSurfer anatomy
  • mne.make_bem_solution: Compute boundary element model head solution
  • mne.make_forward_solution: Calculate leadfield matrix
  • mne.minimum_norm.make_inverse_operator: Create inverse solution operator
  • mne.minimum_norm.apply_inverse: Apply dSPM source estimation

Advanced Source Modeling

  • Source space: Cortical surface-based source model with configurable resolution
  • Forward modeling: Realistic head geometry using boundary element method
  • Inverse methods: dSPM, sLORETA, eLORETA distributed source solutions
  • Regularization: SNR-based regularization parameter selection

Example JSON Structure

The forward solution computation demonstrates complex dependency management:

{
  "stepId": "4",
  "name": "Create Forward Solution",
  "description": "Compute leadfield matrix relating sources to sensors.",
  "software": {
    "name": "MNE-Python",
    "version": "1.6.1",
    "functionCall": "mne.make_forward_solution(evoked.info, trans, src, bem_sol, eeg=True, mindist=5.0)"
  },
  "parameters": {
    "trans": "fsaverage",
    "eeg": true,
    "meg": false,
    "mindist": 5.0,
    "n_jobs": 1,
    "verbose": false
  },
  "dependsOn": ["1", "2", "3"]
}

Inverse Solution Application

The dSPM application step shows advanced parameter control:

{
  "stepId": "7",
  "name": "Apply dSPM Solution",
  "description": "Estimate source time courses using dynamic Statistical Parametric Mapping.",
  "software": {
    "name": "MNE-Python", 
    "version": "1.6.1",
    "functionCall": "mne.minimum_norm.apply_inverse(evoked, inverse_operator, lambda2, method='dSPM')"
  },
  "parameters": {
    "method": "dSPM",
    "lambda2": 0.111111,
    "pick_ori": "normal",
    "verbose": false
  },
  "qualityMetrics": {
    "peakActivation": 15.2,
    "peakLocation": "Left STG",
    "snrEstimate": 3.0
  }
}

Source Localization Features

Anatomical Integration

  • FreeSurfer compatibility: Seamless integration with FreeSurfer anatomy
  • Template brains: Support for fsaverage and individual anatomies
  • Source space options: Surface-based, volumetric, or mixed source models
  • Coordinate systems: MNI, Talairach, and individual head coordinates

Forward Modeling Accuracy

  • BEM head model: Multi-layer realistic head geometry
  • Conductor specification: Brain, skull, and scalp conductivity values
  • Sensor modeling: Accurate EEG and MEG sensor positions
  • Quality assessment: Forward solution validation metrics

Inverse Solution Methods

  • Minimum norm estimation: L2-regularized linear inverse solutions
  • dSPM normalization: Dynamic statistical parametric mapping
  • sLORETA: Standardized low resolution electromagnetic tomography
  • eLORETA: Exact low resolution electromagnetic tomography

MNE-Python vs EEGLAB Comparison

Aspect MNE-Python Version EEGLAB Version
Anatomy FreeSurfer integration DIPFIT equivalent dipoles
Forward Model BEM head model 3-sphere or BEM
Inverse Method dSPM, sLORETA, eLORETA LORETA, sLORETA
Source Space Cortical surface-based Volumetric grid
Visualization 3D brain rendering 2D slice display
File Format HDF5, STC files .mat files

Usage Notes

This example demonstrates: - Comprehensive source localization with realistic head modeling - Multi-step dependency management for complex workflows - External resource integration (FreeSurfer, BEM surfaces) - Quality metrics for source localization validation - Advanced parameter documentation for reproducible inverse solutions

The pipeline showcases MNE-Python's sophisticated source localization capabilities while maintaining complete parameter transparency for reproducible brain source estimation. The integration of anatomical templates and realistic head modeling provides state-of-the-art source localization accuracy.