Module transform
Expand description
Wavelet transform implementations
This module provides various wavelet transform algorithms:
§Transform Comparison
| Transform | Shift-Invariant | Downsampling | Filter Scaling | Reconstruction |
|---|---|---|---|---|
| DWT | No | Yes (by 2) | None | Perfect |
| MODWT | Yes | No | 1/√2 | Perfect |
| SWT | Yes | No | None | Averaging |
§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§
- Transform
Config - 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)