mne.time_frequency.tfr_array_multitaper#

mne.time_frequency.tfr_array_multitaper(epoch_data, sfreq, freqs, n_cycles=7.0, zero_mean=True, time_bandwidth=None, use_fft=True, decim=1, output='complex', n_jobs=1, verbose=None)[source]#

Compute Time-Frequency Representation (TFR) using DPSS tapers.

Same computation as tfr_multitaper, but operates on NumPy arrays instead of Epochs objects.

Parameters
epoch_dataarray of shape (n_epochs, n_channels, n_times)

The epochs.

sfreqfloat | int

Sampling frequency of the data.

freqsarray-like of float, shape (n_freqs,)

The frequencies.

n_cyclesfloat | array of float

Number of cycles in the wavelet. Fixed number or one per frequency. Defaults to 7.0.

zero_meanbool

If True, make sure the wavelets have a mean of zero. Defaults to True.

time_bandwidthfloat

If None, will be set to 4.0 (3 tapers). Time x (Full) Bandwidth product. The number of good tapers (low-bias) is chosen automatically based on this to equal floor(time_bandwidth - 1). Defaults to None.

use_fftbool

Use the FFT for convolutions or not. Defaults to True.

decimint | slice

To reduce memory usage, decimation factor after time-frequency decomposition. Defaults to 1. If int, returns tfr[…, ::decim]. If slice, returns tfr[…, decim].

Note

Decimation may create aliasing artifacts, yet decimation is done after the convolutions.

outputstr, default ‘complex’
  • ‘complex’ : single trial per taper complex values.

  • ‘power’ : single trial power.

  • ‘phase’ : single trial per taper phase.

  • ‘avg_power’ : average of single trial power.

  • ‘itc’ : inter-trial coherence.

  • ‘avg_power_itc’ : average of single trial power and inter-trial coherence across trials.

n_jobsint

The number of jobs to run in parallel (default 1). If -1, it is set to the number of CPU cores. Requires the joblib package. The number of epochs to process at the same time. The parallelization is implemented across channels. Defaults to 1.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns
outarray

Time frequency transform of epoch_data. If output in ['complex', 'phase'], then the shape of out is (n_epochs, n_chans, n_tapers, n_freqs, n_times); if output is ‘power’, the shape of out is (n_epochs, n_chans, n_freqs, n_times), else it is (n_chans, n_freqs, n_times). If output is ‘avg_power_itc’, the real values in out contain the average power and the imaginary values contain the ITC: out = avg_power + i * itc.

Notes

New in version 0.14.0.