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

Compute LCMV spatial filter.

info : dict

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

forward : dict

Forward operator.

data_cov : Covariance

The data covariance.

reg : float

The regularization for the whitened data covariance.

noise_cov : 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.

label : Label

Restricts the LCMV solution to a given label.

pick_ori : None | ‘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

rank : int | None | ‘full’

This controls the effective rank of the covariance matrix when computing the inverse. The rank can be set explicitly by specifying an integer value. If None, the rank will be automatically estimated. Since applying regularization will always make the covariance matrix full rank, the rank is estimated before regularization in this case. If ‘full’, the rank will be estimated after regularization and hence will mean using the full rank, unless reg=0 is used. The default in 'full'.

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.

reduce_rank : bool

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.

verbose : bool, str, int, or None

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

filters : instance of Beamformer

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

‘weights’ : array

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.

‘ch_names’ : list

Channels used to compute the beamformer.

‘proj’ : array

Projections used to compute the beamformer.

‘is_ssp’ : bool

If True, projections were applied prior to filter computation.

‘vertices’ : list

Vertices for which the filter weights were computed.

‘is_free_ori’ : bool

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

‘src_type’ : str

Type of source space.


The original reference is [1].


[1](1, 2, 3) 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
[2](1, 2, 3) Sekihara & Nagarajan. Adaptive spatial filters for electromagnetic brain imaging (2008) Springer Science & Business Media