Module transform

Module transform 

Expand description

Wavelet transform implementations

This module provides various wavelet transform algorithms:

§Transform Comparison

TransformShift-InvariantDownsamplingFilter ScalingReconstruction
DWTNoYes (by 2)NonePerfect
MODWTYesNo1/√2Perfect
SWTYesNoNoneAveraging

§When to Use Each Transform

  • DWT: Fast, memory-efficient, good for compression and denoising
  • MODWT: Best for time series analysis, variance/volatility estimation
  • SWT: Compatible with MATLAB/PyWavelets, good for shift-invariant analysis
  • Hilbert spectrum / HHT: EMD-family instantaneous energy density over time and frequency
  • EWT: Spectrum-adaptive Meyer filter bank — components sum exactly to the signal; useful when EMD-style adaptivity is wanted with wavelet-frame perfect reconstruction
  • SST/SSWT: Synchrosqueezed Wavelet Transform — reassigns CWT energy onto an instantaneous-frequency axis for sharp ridges with provable AM-FM convergence (Daubechies-Lu-Wu 2011)

§See Also

  • Wavelet families and recommended choices: docs/WAVELET_FAMILIES.md
  • Detailed transform behavior (DWT/MODWT/SWT/WPT/CWT/EMD): docs/TRANSFORMS_GUIDE.md
  • High-level user guide for choosing transforms: docs/USER_GUIDE.md

Re-exports§

pub use boundary::BoundaryMode;
pub use ceemdan::CEEMDAN;
pub use ceemdan::CeemdanVariant;
pub use complex_wavelets::ComplexMexicanHat;
pub use complex_wavelets::ComplexMorlet;
pub use complex_wavelets::ComplexPaul;
pub use cwt::CWTResult;
pub use cwt::ContinuousWavelet;
pub use cwt::MexicanHat;
pub use cwt::Morlet;
pub use cwt::cwt;
pub use cwt::cwt_fft;
pub use cwt::icwt;
pub use dual_tree_cwt::DTCWTConfig;
pub use dual_tree_cwt::DTCWTResult;
pub use dual_tree_cwt::DirectionalAnalysis;
pub use dual_tree_cwt::DualTreeCWT;
pub use dual_tree_cwt::FirstLevelFilter;
pub use dwt::DWTResult;
pub use dwt::MultilevelDWTResult;
pub use dwt::dwt;
pub use dwt::dwt_multilevel;
pub use dwt::dwt_multilevel_into;
pub use dwt::idwt;
pub use dwt::idwt_multilevel;
pub use dwt::idwt_multilevel_into;
pub use emd::EEMD;
pub use emd::EMDConfig;
pub use emd::EMDResult;
pub use emd::EndEffectStrategy;
pub use emd::IMF;
pub use emd::emd;
pub use emd::hilbert_transform;
pub use ewt::BoundaryDetection;
pub use ewt::EWTConfig;
pub use ewt::EWTResult;
pub use ewt::GammaStrategy;
pub use ewt::SpectrumPreproc;
pub use ewt::ewt;
pub use ewt::iewt;
pub use hilbert_spectrum::HilbertSpectrum;
pub use hilbert_spectrum::HilbertSpectrumConfig;
pub use hilbert_spectrum::hilbert_spectrum;
pub use matrix2d::Matrix2D;
pub use memd::DirectionStrategy;
pub use memd::MEMDConfig;
pub use memd::MEMDResult;
pub use memd::memd;
pub use modwt::MODWTResult;
pub use modwt::MultilevelMODWTResult;
pub use modwt::imodwt;
pub use modwt::imodwt_multilevel;
pub use modwt::max_modwt_level;
pub use modwt::modwt;
pub use modwt::modwt_into;
pub use modwt::modwt_level_into;
pub use modwt::modwt_multilevel;
pub use modwt::modwt_multilevel_into;
pub use sswt::GreedyRidgeConfig;
pub use sswt::SSWTConfig;
pub use sswt::SSWTPlan;
pub use sswt::SSWTPlanMemoryMode;
pub use sswt::SSWTPlanOptions;
pub use sswt::SSWTResult;
pub use sswt::sswt;
pub use sswt::sswt_extract_component;
pub use sswt::sswt_extract_ridge;
pub use sswt::sswt_into;
pub use swt::MultilevelSWTResult;
pub use swt::SWTResult;
pub use swt::iswt;
pub use swt::iswt_multilevel;
pub use swt::swt;
pub use swt::swt_multilevel;
pub use swt::swt_multilevel_into;
pub use vmd::AlphaSpec;
pub use vmd::ModeInitialization;
pub use vmd::VMDConfig;
pub use vmd::VMDResult;
pub use vmd::VmdRedundancy;
pub use vmd::VmdSelectKConfig;
pub use vmd::VmdSelectKResult;
pub use vmd::vmd;
pub use vmd::vmd_select_k;
pub use wpt::CostFunction;
pub use wpt::NodeId;
pub use wpt::WPNode;
pub use wpt::WPTConfig;
pub use wpt::WPTResult;
pub use wpt::best_basis;
pub use wpt::iwpt;
pub use wpt::wpt;

Modules§

boundary
ceemdan
Complete Ensemble Empirical Mode Decomposition with Adaptive Noise (CEEMDAN)
complex_wavelets
Complex Wavelets Module
cwt
dual_tree_cwt
Dual-Tree Complex Wavelet Transform (DT-CWT)
dwt
emd
Empirical Mode Decomposition (EMD) for non-stationary signal analysis
ewt
Empirical Wavelet Transform (EWT).
hilbert_spectrum
Hilbert spectral analysis — the second half of the Hilbert-Huang Transform.
matrix2d
Flat row-major 2D matrix used by transform results.
memd
Multivariate Empirical Mode Decomposition (MEMD).
modwt
simd
SIMD-accelerated wavelet transforms.
sswt
Synchrosqueezed Wavelet Transform (SST / SSWT).
swt
vmd
Variational Mode Decomposition (VMD).
wpt
Wavelet Packet Transform (WPT) and Inverse WPT

Structs§

TransformConfig
Configuration for wavelet transforms

Functions§

max_decomposition_level
Calculate the maximum decomposition level for a signal (DWT with downsampling)
max_decomposition_level_with_boundary
Boundary-aware variant of max_decomposition_level.
max_shift_invariant_level
Calculate the maximum decomposition level for shift-invariant transforms (MODWT/SWT)