mne.inverse_sparse.gamma_map(evoked, forward, noise_cov, alpha, loose='auto', depth=0.8, xyz_same_gamma=True, maxit=10000, tol=1e-06, update_mode=1, gammas=None, pca=True, return_residual=False, return_as_dipoles=False, rank=None, verbose=None)[source]

Hierarchical Bayes (Gamma-MAP) sparse source localization method.

Models each source time course using a zero-mean Gaussian prior with an unknown variance (gamma) parameter. During estimation, most gammas are driven to zero, resulting in a sparse source estimate, as in [1] and [2].

For fixed-orientation forward operators, a separate gamma is used for each source time course, while for free-orientation forward operators, the same gamma is used for the three source time courses at each source space point (separate gammas can be used in this case by using xyz_same_gamma=False).

evokedinstance of Evoked

Evoked data to invert.


Forward operator.

noise_covinstance of Covariance

Noise covariance to compute whitener.


Regularization parameter (noise variance).

loosefloat in [0, 1] | ‘auto’

Value that weights the source variances of the dipole components that are parallel (tangential) to the cortical surface. If loose is 0 then the solution is computed with fixed orientation. If loose is 1, it corresponds to free orientations. The default value (‘auto’) is set to 0.2 for surface-oriented source space and set to 1.0 for volumic or discrete source space.

depthNone | float | dict

How to weight (or normalize) the forward using a depth prior. If float (default 0.8), it acts as the depth weighting exponent (exp) to use, which must be between 0 and 1. None is equivalent to 0, meaning no depth weighting is performed. It can also be a dict containing keyword arguments to pass to mne.forward.compute_depth_prior() (see docstring for details and defaults).


Use same gamma for xyz current components at each source space point. Recommended for free-orientation forward solutions.


Maximum number of iterations.


Tolerance parameter for convergence.


Update mode, 1: MacKay update (default), 2: Modified MacKay update.

gammasarray, shape=(n_sources,)

Initial values for posterior variances (gammas). If None, a variance of 1.0 is used.


If True the rank of the data is reduced to the true dimension.


If True, the residual is returned as an Evoked instance.


If True, the sources are returned as a list of Dipole instances.

rankNone | dict | ‘info’ | ‘full’

This controls the rank computation that can be read from the measurement info or estimated from the data. See Notes of mne.compute_rank() for details.The default is None.

New in version 0.18.

verbosebool, str, int, or None

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

stcinstance of SourceEstimate

Source time courses.

residualinstance of Evoked

The residual a.k.a. data not explained by the sources. Only returned if return_residual is True.



Wipf et al. Analysis of Empirical Bayesian Methods for Neuroelectromagnetic Source Localization, Advances in Neural Information Process. Systems (2007)


D. Wipf, S. Nagarajan “A unified Bayesian framework for MEG/EEG source imaging”, Neuroimage, Volume 44, Number 3, pp. 947-966, Feb. 2009. DOI: 10.1016/j.neuroimage.2008.02.059