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=None, 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 | None

The number of jobs to run in parallel. If -1, it is set to the number of CPU cores. Requires the joblib package. None (default) is a marker for ‘unset’ that will be interpreted as n_jobs=1 (sequential execution) unless the call is performed under a joblib.parallel_backend() context manager that sets another value for n_jobs. 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.