pub struct GraphWavelet {
pub scale: f64,
/* private fields */
}Expand description
Graph wavelet based on the heat / diffusion kernel.
The diffusion kernel at scale t is K_t = U exp(−t Λ) Uᵀ.
The wavelet at node s is the s-th column (or row) of K_t.
This provides a spatially-localized, multi-scale representation of
graph signals.
§Reference
Hammond et al. (2011). “Wavelets on graphs via spectral graph theory.” Applied and Computational Harmonic Analysis, 30(2), 129–150.
Fields§
§scale: f64Diffusion scale parameter t > 0.
Implementations§
Source§impl GraphWavelet
impl GraphWavelet
Sourcepub fn new(gft: &GraphFourierTransform, scale: f64) -> Result<Self>
pub fn new(gft: &GraphFourierTransform, scale: f64) -> Result<Self>
Build the diffusion wavelet kernel at scale t from a GFT.
§Arguments
gft— precomputed graph Fourier transform.scale— diffusion scalet > 0.
Sourcepub fn apply(&self, signal: &Array1<f64>) -> Result<Array1<f64>>
pub fn apply(&self, signal: &Array1<f64>) -> Result<Array1<f64>>
Apply the wavelet kernel to a signal: y = K_t x.
Trait Implementations§
Source§impl Clone for GraphWavelet
impl Clone for GraphWavelet
Source§fn clone(&self) -> GraphWavelet
fn clone(&self) -> GraphWavelet
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 GraphWavelet
impl RefUnwindSafe for GraphWavelet
impl Send for GraphWavelet
impl Sync for GraphWavelet
impl Unpin for GraphWavelet
impl UnsafeUnpin for GraphWavelet
impl UnwindSafe for GraphWavelet
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