This documentation is for development version 0.18.dev0.


mne.beamformer.tf_lcmv(epochs, forward, noise_covs, tmin, tmax, tstep, win_lengths, freq_bins, subtract_evoked=False, reg=0.05, label=None, pick_ori=None, n_jobs=1, rank='full', weight_norm='unit-noise-gain', raw=None, verbose=None)[source]

5D time-frequency beamforming based on LCMV.

Calculate source power in time-frequency windows using a spatial filter based on the Linearly Constrained Minimum Variance (LCMV) beamforming approach [1]. Band-pass filtered epochs are divided into time windows from which covariance is computed and used to create a beamformer spatial filter.


This implementation has not been heavily tested so please report any issues or suggestions.

epochs : Epochs

Single trial epochs. It is recommended to pass epochs that have been constructed with preload=False (i.e., not preloaded or read from disk) so that the parameter raw=None can be used below, as this ensures the correct instance is used for band-pass filtering.

forward : dict

Forward operator.

noise_covs : list of instances of Covariance | None

Noise covariance for each frequency bin. If provided, whitening will be done. Providing noise covariances is mandatory if you mix sensor types, e.g., gradiometers with magnetometers or EEG with MEG.

tmin : float

Minimum time instant to consider.

tmax : float

Maximum time instant to consider.

tstep : float

Spacing between consecutive time windows, should be smaller than or equal to the shortest time window length.

win_lengths : list of float

Time window lengths in seconds. One time window length should be provided for each frequency bin.

freq_bins : list of tuple of float

Start and end point of frequency bins of interest.

subtract_evoked : bool

If True, subtract the averaged evoked response prior to computing the tf source grid.

reg : float

The regularization for the whitened data covariance.

label : Label | None

Restricts the solution to a given label.

pick_ori : None | ‘normal’

If ‘normal’, rather than pooling the orientations by taking the norm, only the radial component is kept. If None, the solution depends on the forward model: if the orientation is fixed, a scalar beamformer is computed. If the forward model has free orientation, a vector beamformer is computed, combining the output for all source orientations.

n_jobs : int | str

Number of jobs to run in parallel. Can be ‘cuda’ if cupy is installed properly.

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 is 'full'.

weight_norm : ‘unit-noise-gain’ | None

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

raw : instance of Raw | None

The raw instance used to construct the epochs. Must be provided unless epochs are constructed with preload=False.

verbose : bool, str, int, or None

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

stcs : list of SourceEstimate

Source power at each time window. One SourceEstimate object is returned for each frequency bin.


[1](1, 2) Dalal et al. Five-dimensional neuroimaging: Localization of the time-frequency dynamics of cortical activity. NeuroImage (2008) vol. 40 (4) pp. 1686-1700
[2](1, 2, 3) Sekihara & Nagarajan. Adaptive spatial filters for electromagnetic brain imaging (2008) Springer Science & Business Media

Examples using mne.beamformer.tf_lcmv