mne.beamformer.make_lcmv(info, forward, data_cov, reg=0.05, noise_cov=None, label=None, pick_ori=None, rank='info', weight_norm='unit-noise-gain', reduce_rank=False, depth=None, verbose=None)[source]

Compute LCMV spatial filter.


The measurement info to specify the channels to include. Bad channels in info[‘bads’] are not used.


Forward operator.

data_covinstance of Covariance

The data covariance.


The regularization for the whitened data covariance.

noise_covinstance of Covariance

The noise covariance. If provided, whitening will be done. Providing a noise covariance is mandatory if you mix sensor types, e.g. gradiometers with magnetometers or EEG with MEG.

labelinstance of Label

Restricts the LCMV solution to a given label.

pick_oriNone | ‘normal’ | ‘max-power’ | ‘vector’

For forward solutions with fixed orientation, None (default) must be used and a scalar beamformer is computed. For free-orientation forward solutions, a vector beamformer is computed and:


Pools the orientations by taking the norm.


Keeps only the radial component.


Selects orientations that maximize output source power at each location.


Keeps the currents for each direction separate

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 “info”.

weight_norm‘unit-noise-gain’ | ‘nai’ | None

If ‘unit-noise-gain’, the unit-noise gain minimum variance beamformer will be computed (Borgiotti-Kaplan beamformer) [2], if ‘nai’, the Neural Activity Index [1] will be computed, if None, the unit-gain LCMV beamformer [2] will be computed.


If True, the rank of the leadfield will be reduced by 1 for each spatial location. Setting reduce_rank to True is typically necessary if you use a single sphere model for MEG.

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).

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).

filtersinstance of Beamformer

Dictionary containing filter weights from LCMV beamformer. Contains the following keys:


The filter weights of the beamformer.

‘data_cov’instance of Covariance

The data covariance matrix used to compute the beamformer.

‘noise_cov’instance of Covariance | None

The noise covariance matrix used to compute the beamformer.

‘whitener’None | array

Whitening matrix, provided if whitening was applied to the covariance matrix and leadfield during computation of the beamformer weights.

‘weight_norm’‘unit-noise-gain’| ‘nai’ | None

Type of weight normalization used to compute the filter weights.

‘pick_ori’None | ‘normal’

Orientation selection used in filter computation.


Channels used to compute the beamformer.


Projections used to compute the beamformer.


If True, projections were applied prior to filter computation.


Vertices for which the filter weights were computed.


If True, the filter was computed with free source orientation.


Type of source space.


The original reference is [1].



Van Veen et al. Localization of brain electrical activity via linearly constrained minimum variance spatial filtering. Biomedical Engineering (1997) vol. 44 (9) pp. 867–880


Sekihara & Nagarajan. Adaptive spatial filters for electromagnetic brain imaging (2008) Springer Science & Business Media