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

  • ‘power’ : single trial power.

  • ‘phase’ : single trial 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 is in [‘complex’, ‘phase’, ‘power’], then 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 code for ‘avg_power’ and the imaginary values code for the ‘itc’: out = avg_power + i * itc.

Notes

New in version 0.14.0.