Struct MEMDResult
pub struct MEMDResult {
pub imfs: Matrix2D<IMF>,
pub residual: Matrix2D<f64>,
pub num_channels: usize,
pub signal_length: usize,
}Expand description
MEMD decomposition result.
imfs is indexed [imf_idx][channel_idx]; the outer length is the IMF
count, the inner length is always MEMDResult::num_channels. Each
per-channel IMF carries its own data and supports
IMF::compute_instantaneous_attributes for Hilbert-spectral analysis.
residual[channel_idx] is the monotonic (or near-monotonic) trend left
after all IMFs have been removed from that channel.
Fields§
§imfs: Matrix2D<IMF>Extracted IMFs in a flat row-major [imf_idx, channel_idx] matrix.
residual: Matrix2D<f64>Per-channel residual (trend), row-major [channel_idx, sample_idx].
num_channels: usizeNumber of input channels.
signal_length: usizePer-channel signal length (all channels share this length).
Implementations§
§impl MEMDResult
impl MEMDResult
pub fn reconstruct(&self, channel: usize) -> Result<Vec<f64>>
pub fn reconstruct(&self, channel: usize) -> Result<Vec<f64>>
Reconstruct the original signal for a single channel as
Σ_k IMFₖ[channel] + residual[channel].
§Errors
Returns WaveletError::InvalidParameter if channel >= self.num_channels.
Trait Implementations§
§impl Clone for MEMDResult
impl Clone for MEMDResult
§fn clone(&self) -> MEMDResult
fn clone(&self) -> MEMDResult
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for MEMDResult
impl RefUnwindSafe for MEMDResult
impl Send for MEMDResult
impl Sync for MEMDResult
impl Unpin for MEMDResult
impl UnwindSafe for MEMDResult
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.