waveletAnalysis¶
-
class
seas.waveletAnalysis.waveletAnalysis(data: numpy.ndarray, fps: int, **kwargs)[source]¶ Bases:
objectMethods Summary
averageWaveletPower([perLim])Average wavelet power, Average across periods to find significant prominant times of activity.
familySig([sigList, dof, sigtest])Plot a family of significance curves for visualization and analysis.
Global Wavelet Spectrum, Average across time to find significant prominant frequencies
inverseWaveletTransform([waveFlt])Inverse wavelet transform from 2d power spectra back to a timecourse
nanCOI()Get rid of all values outside the cone of influence.
nanSig()Get rid of all values not significant.
noiseFilter([lowerPeriod, upperPeriod, sigLevel])High-pass and low-pass filter possibilities.
plotPower([ax])Plot log power spectorgram, with cone of influence
sumAcrossPeriod([perLim])Sum wavelet power across select periods.
waveletFilter([lowerPeriod, upperPeriod, …])High-pass and low-pass filter possibilities.
Runs wavelet transform Establishes the amount of power per wavelet at each timepoint Determines significance based on red noise spectra determined from the lag1 parameter
Methods Documentation
-
averageWaveletPower(perLim: List[float] = [0.25, 8])[source]¶ Average wavelet power, Average across periods to find significant prominant times of activity.
- Parameters
perLim – tuple for lower and upper periods. Power summed between these defined periods.
- Returns
None
-
familySig(sigList: List[float] = [0.9, 0.95, 0.99, 0.999], dof: int = - 1, sigtest: float = 0)[source]¶ Plot a family of significance curves for visualization and analysis.
- Parameters
sigList – List or float of significant values
dof – degrees of freedom (see waveletFunctions)
sigtest –
which significance test is used (see waveletFunctions for more information)
0: regular chi-square test (for full wavelet transform; non-smoothed) 1: time-average test (for globalWaveletSpectrum) 2: scale-average test (for averageWaveletPower)
- Returns
significance cutoffs sigList: List of requested significants
- Return type
fam_significance
-
globalWaveletSpectrum()[source]¶ Global Wavelet Spectrum, Average across time to find significant prominant frequencies
- Parameters
None –
- Returns
None
-
inverseWaveletTransform(waveFlt: Optional[numpy.ndarray] = None)[source]¶ Inverse wavelet transform from 2d power spectra back to a timecourse
- Parameters
None –
- Returns
None
-
nanCOI()[source]¶ Get rid of all values outside the cone of influence. Sets those values to np.nan
- Parameters
None –
- Returns
None
-
nanSig()[source]¶ Get rid of all values not significant. Sets those values to np.nan
- Parameters
None –
- Returns
None
-
noiseFilter(lowerPeriod: Optional[float] = None, upperPeriod: float = 10, sigLevel: float = 0.25)[source]¶ High-pass and low-pass filter possibilities.
In seas.ica filter_method == ‘wavelet’ will filter high frequencies past the nyquist smapling rate and very low power spectra (significance ratio less than 0.25)
See seas.waveletAnalysis.noiseFilter
- Parameters
lowerPeriod – High pass filter, specify lowest period and it will exclude all under that period
upperPeriod – Low pass filter, specify highest period and it will exclude all over that period
sigLevel – Significance filter, eliminate low power waveforms (0.25 is used in noiseFilter)
- Returns
- inverse wavlet transform based on removing periods/power
defined in the parameters
- Return type
filtData
-
plotPower(ax=None)[source]¶ Plot log power spectorgram, with cone of influence
- Parameters
ax – specify axis to plot on (see matplotlib.pyplot)
- Returns
None
-
sumAcrossPeriod(perLim: List[float] = [0, 100])[source]¶ Sum wavelet power across select periods.
- Parameters
perLim – tuple for lower and upper periods. Power summed between these defined periods.
- Returns
sum across the power of defined frequencies
- Return type
period_sum
-
waveletFilter(lowerPeriod: Optional[float] = None, upperPeriod: Optional[float] = None, sigLevel: float = 1)[source]¶ High-pass and low-pass filter possibilities.
In seas.ica filter_method == ‘wavelet’ will filter high frequencies past the nyquist smapling rate and very low power spectra (significance ratio less than 0.25)
See seas.waveletAnalysis.noiseFilter
- Parameters
lowerPeriod – High pass filter, specify lowest period and it will exclude all under that period
upperPeriod – Low pass filter, specify highest period and it will exclude all over that period
sigLevel – Significance filter, eliminate low power waveforms (0.25 is used in noiseFilter)
- Returns
None
-