Dynamic Statistical Parametric Mapping (MNE-style)¶
Solver ID: dSPM-MNE
Usage¶
from invert import Solver
# fwd = ... (mne.Forward object)
# evoked = ... (mne.Evoked object)
solver = Solver("dSPM-MNE")
solver.make_inverse_operator(fwd)
stc = solver.apply_inverse_operator(evoked)
stc.plot()
Overview¶
MNE-style dSPM with SSP-aware whitening, trace-normalized source prior, and SVD-based Tikhonov regularization.
References¶
- Dale, A. M., Liu, A. K., Fischl, B. R., Buckner, R. L., Belliveau, J. W., Lewine, J. D., & Halgren, E. (2000). Dynamic statistical parametric mapping: combining fMRI and MEG for high-resolution imaging of cortical activity. Neuron, 26(1), 55–67.
- Hämäläinen, M. S., & Ilmoniemi, R. J. (1994). Interpreting magnetic fields of the brain: minimum norm estimates. Medical & Biological Engineering & Computing, 32(1), 35–42.
API Reference¶
Bases: BaseSolver
MNE-Python-style dSPM.
Implements the core pieces of MNE-Python's minimum-norm pipeline that are
missing from the legacy :mod:invert.solvers.minimum_norm.dspm solver:
- SSP projector integration in sensor space
- PCA-space whitening using the noise covariance (optional)
- Depth weighting as a source prior with dynamic-range clipping
- Trace normalization so
lambda2is interpretable as1 / snr**2 - SVD-based Tikhonov regularization (stable per-component shrinkage)
- dSPM noise normalization derived from the whitened operator
Notes
Current invertmeeg infrastructure uses fixed source orientation.
This solver therefore implements the fixed-orientation variant of MNE's
depth weighting and dSPM normalization.
Source code in invert/solvers/minimum_norm/dspm_mne.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | |
__init__ ¶
__init__(
name: str = "dSPM (MNE-style)",
*,
depth: float = 0.8,
depth_limit: float = 10.0,
rank_tol: float = 1e-12,
eps: float = 1e-15,
**kwargs,
)
Source code in invert/solvers/minimum_norm/dspm_mne.py
make_inverse_operator ¶
make_inverse_operator(
forward,
*args,
alpha="auto",
noise_cov: Covariance | None = None,
source_cov=None,
verbose: int = 0,
**kwargs,
)
Calculate inverse operators for a lambda2 grid.