neurodsp.spectral.compute_spectral_hist¶

neurodsp.spectral.
compute_spectral_hist
(sig, fs, window='hann', nperseg=None, noverlap=None, nbins=50, f_range=[0.0, 100.0], cut_pct=[0.0, 100.0])[source]¶ Compute the distribution of log10 power at each frequency from the signal spectrogram.
 Parameters
 sig1d array
Time series of measurement values.
 fsfloat
Sampling rate, in Hz.
 windowstr or tuple or array_like, optional, default: ‘hann’
Desired window to use. See scipy.signal.get_window for a list of available windows. If array_like, the array will be used as the window and its length must be nperseg.
 npersegint, optional
Length of each segment, in number of samples. If None, and window is str or tuple, is set to 1 second of data. If None, and window is array_like, is set to the length of the window.
 noverlapint, optional
Number of points to overlap between segments. If None, noverlap = nperseg // 2.
 nbinsint, optional, default: 50
Number of histogram bins to use.
 f_rangelist of [float, float], optional, default: [0, 100]
Frequency range of the spectrogram to compute the histograms, as [start, end], in Hz.
 cut_pctlist of [float, float], optional, default: [0, 100]
Power percentile at which to draw the lower and upper bin limits, as [low, high], in Hz.
 Returns
 freqs1d array
Frequencies at which the measure was calculated.
 power_bins1d array
Histogram bins used to compute the distribution.
 spectral_hist2d array
Power distribution at every frequency, as [n_bins, freqs].
Notes
Histogram bins are the same for every frequency, evenly spacing the global min & max power.
Examples
Compute the distribution of power, which is the spectral histogram:
>>> from neurodsp.sim import sim_combined >>> sig = sim_combined(n_seconds=10, fs=500, ... components={'sim_powerlaw': {}, 'sim_oscillation': {'freq': 10}}) >>> freqs, power_bins, spectral_hist = compute_spectral_hist(sig, fs=500)