mne.beamformer.tf_lcmv¶

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.

Note

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

Parameters
epochsEpochs

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 mne.io.Raw instance is used for band-pass filtering.

forwarddict

Forward operator.

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

tminfloat

Minimum time instant to consider.

tmaxfloat

Maximum time instant to consider.

tstepfloat

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

win_lengths

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

freq_bins

Start and end point of frequency bins of interest.

subtract_evokedbool

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

regfloat

The regularization for the whitened data covariance.

label

Restricts the solution to a given label.

pick_oriNone | ‘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

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

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

rawinstance of Raw | None

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

verbose

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

Returns
stcs

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

References

1

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)

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