neurodsp.spectral.compute_scv_rs¶

neurodsp.spectral.
compute_scv_rs
(sig, fs, window='hann', nperseg=None, noverlap=0, method='bootstrap', rs_params=None)[source]¶ Compute a resampled version of the spectral coefficient of variation (SCV).
 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, default: 0
Number of points to overlap between segments.
 method{‘bootstrap’, ‘rolling’}, optional
Method of resampling:
‘bootstrap’ randomly samples a subset of the spectrogram repeatedly.
‘rolling’ takes the rolling window scv.
 rs_paramstuple, (int, int), optional
Parameters for resampling algorithm, depending on the method used:
If ‘bootstrap’, rs_params = (n_slices, n_draws), defaults to (10% of slices, 100 draws).
If ‘rolling’, rs_params = (n_slices, n_steps), defaults to (10, 5).
Where:
n_slices is the number of slices per draw
n_draws is the number of random draws
n_steps is the number of slices to step forward.
 Returns
 freqs1d array
Frequencies at which the measure was calculated.
 t_inds1d array or None
Time indices at which the measure was calculated. This is only returned for ‘rolling’ resampling. If ‘bootstrap’, t_inds = None.
 scv_rs2d array
Resampled spectral coefficient of variation.
Notes
In the resampled version, instead of a single estimate of mean and standard deviation, the spectrogram is resampled.
Resampling can be done either randomly (method=’bootstrap’) or in a timestepped manner (method=’rolling’).
Examples
Compute the resampled spectral coefficient of variation, using the bootstrap method:
>>> from neurodsp.sim import sim_combined >>> sig = sim_combined(n_seconds=10, fs=500, ... components={'sim_powerlaw': {}, 'sim_oscillation' : {'freq': 10}}) >>> freqs, t_inds, scv_rs = compute_scv_rs(sig, fs=500, method='bootstrap')