pub struct ContinuousWavelet;Expand description
Continuous wavelet transform (CWT) with multiple mother wavelets.
Supports Morlet, Mexican Hat (Ricker), and Paul wavelets for scalogram computation and instantaneous frequency estimation.
Implementations§
Source§impl ContinuousWavelet
impl ContinuousWavelet
Sourcepub fn morlet(t: f64, sigma: f64) -> f64
pub fn morlet(t: f64, sigma: f64) -> f64
Evaluate the (real part of the) Morlet wavelet at position t.
sigma controls the time-frequency trade-off (bandwidth parameter).
Sourcepub fn mexican_hat(t: f64, sigma: f64) -> f64
pub fn mexican_hat(t: f64, sigma: f64) -> f64
Evaluate the Mexican-hat (Ricker) wavelet at position t.
Defined as (1 - t²/σ²) exp(-t²/2σ²).
Sourcepub fn paul(t: f64, m: u32) -> f64
pub fn paul(t: f64, m: u32) -> f64
Evaluate the Paul wavelet of order m at position t.
The real part is proportional to cos(m * atan2(t, 1)) / (1 + t²)^((m+1)/2).
Sourcepub fn cwt_morlet(signal: &[f64], dt: f64, scales: &[f64]) -> Vec<Vec<f64>>
pub fn cwt_morlet(signal: &[f64], dt: f64, scales: &[f64]) -> Vec<Vec<f64>>
Compute the CWT scalogram using the Morlet wavelet.
Returns a matrix scalogram[scale_idx][time_idx] where each row
corresponds to one entry in scales.
signal— input time series.dt— sampling interval.scales— desired wavelet scales (dilation parameters).
Sourcepub fn cwt_mexican_hat(signal: &[f64], dt: f64, scales: &[f64]) -> Vec<Vec<f64>>
pub fn cwt_mexican_hat(signal: &[f64], dt: f64, scales: &[f64]) -> Vec<Vec<f64>>
Compute the CWT scalogram using the Mexican-hat wavelet.
Returns a matrix scalogram[scale_idx][time_idx].
Sourcepub fn cwt_paul(
signal: &[f64],
dt: f64,
scales: &[f64],
m: u32,
) -> Vec<Vec<f64>>
pub fn cwt_paul( signal: &[f64], dt: f64, scales: &[f64], m: u32, ) -> Vec<Vec<f64>>
Compute the CWT scalogram using the Paul wavelet of order m.
Returns a matrix scalogram[scale_idx][time_idx].
Sourcepub fn instantaneous_frequency(
scalogram: &[Vec<f64>],
scales: &[f64],
dt: f64,
) -> Vec<f64>
pub fn instantaneous_frequency( scalogram: &[Vec<f64>], scales: &[f64], dt: f64, ) -> Vec<f64>
Estimate the instantaneous dominant frequency at each time step from a scalogram.
For each time index, finds the scale with maximum CWT coefficient magnitude
and converts it to a frequency via f = 1 / (scale * dt).
Auto Trait Implementations§
impl Freeze for ContinuousWavelet
impl RefUnwindSafe for ContinuousWavelet
impl Send for ContinuousWavelet
impl Sync for ContinuousWavelet
impl Unpin for ContinuousWavelet
impl UnsafeUnpin for ContinuousWavelet
impl UnwindSafe for ContinuousWavelet
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.