Struct Daubechies
pub struct Daubechies { /* private fields */ }Expand description
Daubechies wavelets - a family of orthogonal wavelets
Daubechies wavelets are a family of orthogonal wavelets with compact support. They are characterized by a maximal number of vanishing moments for a given support width.
§Mathematical Foundation
Daubechies wavelets were developed by Ingrid Daubechies in 1988. They are constructed to have the maximum number of vanishing moments for a given filter length, making them optimal for representing polynomial signals.
§Coefficient Sources
All coefficients are canonical PyWavelets values, ensuring machine-precision accuracy (~2e-16 sum error) and cross-library compatibility.
References:
- PyWavelets - Primary source for canonical coefficients (pywt.Wavelet(‘dbN’).dec_lo)
- Daubechies, I. (1992). “Ten Lectures on Wavelets”, CBMS-NSF Regional Conference Series in Applied Mathematics, vol. 61, SIAM, Philadelphia.
§Properties
All coefficients satisfy:
sum_n(h[n]) = √2(DC gain normalization)sum_n(h[n]²) = 1(energy normalization)sum_n(h[n] * h[n+2k]) = 0for k ≠ 0 (orthogonality)
§Supported Orders
This implementation includes DB2, DB4, DB6, DB8, and DB10.
Implementations§
§impl Daubechies
impl Daubechies
pub fn new(wavelet_type: DaubechiesType) -> Self
pub fn new(wavelet_type: DaubechiesType) -> Self
Create a new Daubechies wavelet of the specified type
pub fn db2() -> Self
pub fn db2() -> Self
Create a Daubechies 2 wavelet (4 coefficients)
pub fn db4() -> Self
pub fn db4() -> Self
Create a Daubechies 4 wavelet (8 coefficients)
pub fn db6() -> Self
pub fn db6() -> Self
Create a Daubechies 6 wavelet (12 coefficients)
pub fn db8() -> Self
pub fn db8() -> Self
Create a Daubechies 8 wavelet (16 coefficients)
pub fn db10() -> Self
pub fn db10() -> Self
Create a Daubechies 10 wavelet (20 coefficients)
pub fn wavelet_type(&self) -> DaubechiesType
pub fn wavelet_type(&self) -> DaubechiesType
Get the wavelet type
Trait Implementations§
§impl Clone for Daubechies
impl Clone for Daubechies
§fn clone(&self) -> Daubechies
fn clone(&self) -> Daubechies
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for Daubechies
impl Debug for Daubechies
§impl Wavelet for Daubechies
impl Wavelet for Daubechies
§fn vanishing_moments(&self) -> usize
fn vanishing_moments(&self) -> usize
§fn support_width(&self) -> usize
fn support_width(&self) -> usize
§fn low_pass_decomposition(&self) -> &[f64]
fn low_pass_decomposition(&self) -> &[f64]
§fn high_pass_decomposition(&self) -> &[f64]
fn high_pass_decomposition(&self) -> &[f64]
§fn low_pass_reconstruction(&self) -> &[f64]
fn low_pass_reconstruction(&self) -> &[f64]
§fn high_pass_reconstruction(&self) -> &[f64]
fn high_pass_reconstruction(&self) -> &[f64]
§fn is_orthogonal(&self) -> bool
fn is_orthogonal(&self) -> bool
§fn is_biorthogonal(&self) -> bool
fn is_biorthogonal(&self) -> bool
Auto Trait Implementations§
impl Freeze for Daubechies
impl RefUnwindSafe for Daubechies
impl Send for Daubechies
impl Sync for Daubechies
impl Unpin for Daubechies
impl UnwindSafe for Daubechies
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)§impl<T> IntoEither for T
impl<T> IntoEither for T
§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.