mne.minimum_norm.apply_inverse(evoked, inverse_operator, lambda2=0.1111111111111111, method='dSPM', pick_ori=None, prepared=False, label=None, method_params=None, return_residual=False, verbose=None)[source]

Apply inverse operator to evoked data.

evokedEvoked object

Evoked data.

inverse_operator: instance of InverseOperator

Inverse operator.


The regularization parameter.

method“MNE” | “dSPM” | “sLORETA” | “eLORETA”

Use minimum norm [1], dSPM (default) [2], sLORETA [3], or eLORETA [4].

pick_oriNone | “normal” | “vector”

If “normal”, rather than pooling the orientations by taking the norm, only the radial component is kept. This is only implemented when working with loose orientations. If “vector”, no pooling of the orientations is done and the vector result will be returned in the form of a mne.VectorSourceEstimate object. This is only implemented when working with loose orientations.


If True, do not call prepare_inverse_operator().

labelLabel | None

Restricts the source estimates to a given label. If None, source estimates will be computed for the entire source space.

method_paramsdict | None

Additional options for eLORETA. See Notes for details.

New in version 0.16.


If True (default False), return the residual evoked data. Cannot be used with method=='eLORETA'.

New in version 0.17.

verbosebool, str, int, or None

If not None, override default verbose level (see mne.verbose() and Logging documentation for more).

stcSourceEstimate | VectorSourceEstimate | VolSourceEstimate

The source estimates.

residualinstance of Evoked

The residual evoked data, only returned if return_residual is True.

See also


Apply inverse operator to raw object


Apply inverse operator to epochs object


Currently only the method='eLORETA' has additional options. It performs an iterative fit with a convergence criterion, so you can pass a method_params dict with string keys mapping to values for:


The convergence epsilon (default 1e-6).


The maximum number of iterations (default 20). If less regularization is applied, more iterations may be necessary.


Force all eLORETA weights for each direction for a given location equal. The default is None, which means True for loose-orientation inverses and False for free- and fixed-orientation inverses. See below.

The eLORETA paper [4] defines how to compute inverses for fixed- and free-orientation inverses. In the free orientation case, the X/Y/Z orientation triplet for each location is effectively multiplied by a 3x3 weight matrix. This is the behavior obtained with force_equal=False parameter.

However, other noise normalization methods (dSPM, sLORETA) multiply all orientations for a given location by a single value. Using force_equal=True mimics this behavior by modifying the iterative algorithm to choose uniform weights (equivalent to a 3x3 diagonal matrix with equal entries).

It is necessary to use force_equal=True with loose orientation inverses (e.g., loose=0.2), otherwise the solution resembles a free-orientation inverse (loose=1.0). It is thus recommended to use force_equal=True for loose orientation and force_equal=False for free orientation inverses. This is the behavior used when the parameter force_equal=None (default behavior).



Hamalainen M S and Ilmoniemi R. Interpreting magnetic fields of the brain: minimum norm estimates. Medical & Biological Engineering & Computing, 32(1):35-42, 1994.


Dale A, Liu A, Fischl B, Buckner R. (2000) Dynamic statistical parametric mapping: combining fMRI and MEG for high-resolution imaging of cortical activity. Neuron, 26:55-67.


Pascual-Marqui RD (2002), Standardized low resolution brain electromagnetic tomography (sLORETA): technical details. Methods Find. Exp. Clin. Pharmacology, 24(D):5-12.


Pascual-Marqui RD (2007). Discrete, 3D distributed, linear imaging methods of electric neuronal activity. Part 1: exact, zero error localization. arXiv:0710.3341