pub struct WaveletPacketTree {
pub max_level: usize,
pub wavelet: Wavelet,
pub signal_len: usize,
/* private fields */
}Expand description
A full binary tree of wavelet packet nodes.
Nodes are stored in a HashMap keyed by (level, index).
The tree is built by wpd and each interior node stores both the
node’s own coefficients and its children (low/high subbands).
Fields§
§max_level: usizeMaximum decomposition depth.
wavelet: WaveletWavelet used to build this tree.
signal_len: usizeLength of the original signal (needed for reconstruction).
Implementations§
Source§impl WaveletPacketTree
impl WaveletPacketTree
Sourcepub fn new(wavelet: Wavelet, max_level: usize, signal_len: usize) -> Self
pub fn new(wavelet: Wavelet, max_level: usize, signal_len: usize) -> Self
Create an empty tree.
Sourcepub fn insert(&mut self, node: WaveletPacketNode)
pub fn insert(&mut self, node: WaveletPacketNode)
Insert a node into the tree.
Sourcepub fn get(&self, level: usize, index: usize) -> Option<&WaveletPacketNode>
pub fn get(&self, level: usize, index: usize) -> Option<&WaveletPacketNode>
Retrieve a node by (level, index).
Sourcepub fn nodes_at_level(
&self,
level: usize,
) -> impl Iterator<Item = &WaveletPacketNode>
pub fn nodes_at_level( &self, level: usize, ) -> impl Iterator<Item = &WaveletPacketNode>
Iterate over all nodes at a given level.
Sourcepub fn all_nodes(&self) -> impl Iterator<Item = &WaveletPacketNode>
pub fn all_nodes(&self) -> impl Iterator<Item = &WaveletPacketNode>
All nodes in the tree.
Trait Implementations§
Source§impl Clone for WaveletPacketTree
impl Clone for WaveletPacketTree
Source§fn clone(&self) -> WaveletPacketTree
fn clone(&self) -> WaveletPacketTree
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for WaveletPacketTree
impl RefUnwindSafe for WaveletPacketTree
impl Send for WaveletPacketTree
impl Sync for WaveletPacketTree
impl Unpin for WaveletPacketTree
impl UnsafeUnpin for WaveletPacketTree
impl UnwindSafe for WaveletPacketTree
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
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