waveletAnalysis

class seas.waveletAnalysis.waveletAnalysis(data: numpy.ndarray, fps: int, **kwargs)[source]

Bases: object

Methods 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.

globalWaveletSpectrum()

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.

waveletTransform()

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

waveletTransform()[source]

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

Parameters

None

Returns

None