mne.time_frequency.psd_multitaper#

mne.time_frequency.psd_multitaper(inst, fmin=0, fmax=inf, tmin=None, tmax=None, bandwidth=None, adaptive=False, low_bias=True, normalization='length', picks=None, proj=False, n_jobs=None, reject_by_annotation=False, *, verbose=None)[source]#

Compute the power spectral density (PSD) using multitapers.

Calculates spectral density for orthogonal tapers, then averages them together for each channel/epoch. See 1 for a description of the tapers and 2 for the general method.

Parameters
instinstance of Epochs or Raw or Evoked

The data for PSD calculation.

fminfloat

Min frequency of interest.

fmaxfloat

Max frequency of interest.

tminfloat | None

Min time of interest.

tmaxfloat | None

Max time of interest.

bandwidthfloat

The bandwidth of the multi taper windowing function in Hz. The default value is a window half-bandwidth of 4.

adaptivebool

Use adaptive weights to combine the tapered spectra into PSD (slow, use n_jobs >> 1 to speed up computation).

low_biasbool

Only use tapers with more than 90% spectral concentration within bandwidth.

normalization‘full’ | ‘length’

Normalization strategy. If “full”, the PSD will be normalized by the sampling rate as well as the length of the signal (as in Nitime). Default is 'length'.

picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick good data channels (excluding reference MEG channels). Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

projbool

Apply SSP projection vectors. If inst is ndarray this is not used.

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.

reject_by_annotationbool

Whether to omit bad segments from the data before fitting. If True (default), annotated segments whose description begins with 'bad' are omitted. If False, no rejection based on annotations is performed.

Has no effect if inst is not a mne.io.Raw object.

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
psdsndarray, shape (…, n_freqs)

The power spectral densities. If input is of type Raw, then psds will be shape (n_channels, n_freqs), if input is type Epochs then psds will be shape (n_epochs, n_channels, n_freqs).

freqsndarray, shape (n_freqs,)

The frequencies.

Notes

New in version 0.12.0.

References

1

David S. Slepian. Prolate spheroidal wave functions, fourier analysis, and uncertainty-V: the discrete case. Bell System Technical Journal, 57(5):1371–1430, 1978. doi:10.1002/j.1538-7305.1978.tb02104.x.

2

Donald B. Percival and Andrew T. Walden. Spectral Analysis for Physical Applications: Multitaper and Conventional Univariate Techniques. Cambridge University Press, Cambridge; New York, 1993. ISBN 978-0-521-35532-2. doi:10.1017/CBO9780511622762.

Examples using mne.time_frequency.psd_multitaper#

Frequency and time-frequency sensor analysis

Frequency and time-frequency sensor analysis

Frequency and time-frequency sensor analysis