mne.beamformer.tf_dics(epochs, forward, noise_csds, tmin, tmax, tstep, win_lengths, subtract_evoked=False, mode='fourier', freq_bins=None, frequencies=None, n_ffts=None, mt_bandwidths=None, mt_adaptive=False, mt_low_bias=True, cwt_n_cycles=7, decim=1, reg=0.05, label=None, pick_ori=None, rank=None, inversion='single', weight_norm=None, depth=1.0, real_filter=False, reduce_rank=False, normalize_fwd=None, verbose=None)[source]

5D time-frequency beamforming based on DICS.

Calculate source power in time-frequency windows using a spatial filter based on the Dynamic Imaging of Coherent Sources (DICS) beamforming approach 1. For each time window and frequency bin combination, cross-spectral density (CSD) is computed and used to create a DICS beamformer spatial filter.


Single trial epochs.


Forward operator.

noise_csdslist of instances of CrossSpectralDensity | None

Noise cross-spectral density for each frequency bin. If these are specified, the DICS filters will be applied to both the signal and noise CSDs. The source power estimates for each frequency bin will be scaled by the estimated noise power (signal / noise). Specifying None will disable performing noise normalization.


Minimum time instant to consider.


Maximum time instant to consider.


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

win_lengthslist of float

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


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

mode‘fourier’ | ‘multitaper’ | ‘cwt_morlet’

Spectrum estimation mode. Defaults to ‘fourier’.

freq_binslist of tuple of float

Start and end point of frequency bins of interest. Only used in ‘multitaper’ or ‘fourier’ mode. For ‘cwt_morlet’ mode, use the frequencies parameter instead.

frequencieslist of float | list of list of float

The frequencies to compute the source power for. If you want to compute the average power for multiple frequency bins, specify a list of lists: each list containing the frequencies for the corresponding bin. Only used in ‘cwt_morlet’ mode. In other modes, use the freq_bins parameter instead.

n_fftslist | None

Length of the FFT for each frequency bin. If None (the default), the exact number of samples between tmin and tmax will be used. Only used in ‘multitaper’ or ‘fourier’ mode.

mt_bandwidthslist of float

The bandwidths of the multitaper windowing function in Hz. Only used in ‘multitaper’ mode. One value should be provided for each frequency bin. Defaults to None.


Use adaptive weights to combine the tapered spectra into CSD. Only used in ‘multitaper’ mode. Defaults to False.


Only use tapers with more than 90% spectral concentration within bandwidth. Only used in ‘multitaper’ mode. Defaults to True.

cwt_n_cyclesfloat | list of float | None

Number of cycles to use when constructing Morlet wavelets. Fixed number or one per frequency. Defaults to 7. Only used in ‘cwt_morlet’ mode.

decimint | slice

To reduce memory usage, decimation factor during time-frequency decomposition. Defaults to 1 (no decimation). Only used in ‘cwt_morlet’ mode.

If int, uses tfr[…, ::decim]. If slice, uses tfr[…, decim].


Regularization to use for the DICS beamformer computation. Defaults to 0.05.

labelLabel | None

Restricts the solution to a given label. Defaults to None.

pick_oriNone | ‘normal’ | ‘max-power’

The source orientation to estimate source power for:

None :

orientations are pooled. (Default)

‘normal’ :

filters are computed for the orientation tangential to the cortical surface

‘max-power’ :

filters are computer for the orientation that maximizes spectral power.

Defaults to None.

rankNone | int | ‘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 None.

New in version 0.17.

inversion‘single’ | ‘matrix’

This determines how the beamformer deals with source spaces in “free” orientation. Such source spaces define three orthogonal dipoles at each source point. When inversion='single', each dipole is considered as an individual source and the corresponding spatial filter is computed for each dipole separately. When inversion='matrix', all three dipoles at a source vertex are considered as a group and the spatial filters are computed jointly using a matrix inversion. While inversion='single' is more stable, inversion='matrix' is more precise. See Notes of make_dics(). Defaults to ‘single’.

weight_normNone | ‘unit-noise-gain’

How to normalize the beamformer weights. None means no normalization is performed. If ‘unit-noise-gain’, the unit-noise gain minimum variance beamformer will be computed (Borgiotti-Kaplan beamformer) 2. Defaults to None.

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). This is effectively ignored when method='eLORETA'.

Changed in version 0.20: Depth bias ignored for method='eLORETA'.


If True, take only the real part of the cross-spectral-density matrices to compute real filters. Defaults to False.


If True, the rank of the denominator of the beamformer formula (i.e., during pseudo-inversion) will be reduced by one for each spatial location. Setting reduce_rank=True is typically necessary if you use a single sphere model with MEG data.

Changed in version 0.20: Support for reducing rank in all modes (previously only supported pick='max_power' with weight normalization).


Deprecated, use depth instead.

verbosebool, str, int, or None

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

stcslist of SourceEstimate | VolSourceEstimate

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


Dalal et al. 1 used a synthetic aperture magnetometry beamformer (SAM) in each time-frequency window instead of DICS.

An alternative to using noise CSDs is to normalize the forward solution (normalize_fwd) or the beamformer weights (weight_norm). In this case, noise_csds may be set to None.



Sarang S. Dalal, Adrian G. Guggisberg, Erik Edwards, Kensuke Sekihara, Anne M. Findlay, Ryan T. Canolty, Mitchel S. Berger, Robert T. Knight, Nicholas M. Barbaro, Heidi E. Kirsch, and Srikantan S. Nagarajan. Five-dimensional neuroimaging: localization of the time–frequency dynamics of cortical activity. NeuroImage, 40(4):1686–1700, 2008. doi:10.1016/j.neuroimage.2008.01.023.


Kensuke Sekihara and Srikantan S. Nagarajan. Adaptive Spatial Filters for Electromagnetic Brain Imaging. Series in Biomedical Engineering. Springer, Berlin; Heidelberg, 2008. ISBN 978-3-540-79369-4 978-3-540-79370-0. doi:10.1007/978-3-540-79370-0.

Examples using mne.beamformer.tf_dics