pub struct DynamicConvolver { /* private fields */ }Implementations§
Source§impl DynamicConvolver
impl DynamicConvolver
Sourcepub fn new(l: Laplacian) -> Result<Self, GspError>
pub fn new(l: Laplacian) -> Result<Self, GspError>
Creates a dynamic convolver with branch-update support.
§Errors
Returns an error when l is not square.
Sourcepub fn with_poles(l: Laplacian, poles: &[f64]) -> Result<Self, GspError>
pub fn with_poles(l: Laplacian, poles: &[f64]) -> Result<Self, GspError>
Creates a dynamic convolver and pre-initializes pole states.
§Errors
Returns an error for invalid poles or failed factorizations.
Sourcepub fn with_kernel(l: Laplacian, k: &VfKernel) -> Result<Self, GspError>
pub fn with_kernel(l: Laplacian, k: &VfKernel) -> Result<Self, GspError>
Creates a dynamic convolver using poles from an existing kernel.
§Errors
Returns an error when kernel validation or pole setup fails.
Sourcepub fn convolve(
&mut self,
b: ArrayView2<'_, f64>,
k: &VfKernel,
) -> Result<Array3<f64>, GspError>
pub fn convolve( &mut self, b: ArrayView2<'_, f64>, k: &VfKernel, ) -> Result<Array3<f64>, GspError>
Convolves a real-valued signal matrix with a VF kernel on the updated graph.
§Errors
Returns an error when kernel validation or solves fail.
Sourcepub fn convolve_1d(
&mut self,
b: ArrayView1<'_, f64>,
k: &VfKernel,
) -> Result<Array2<f64>, GspError>
pub fn convolve_1d( &mut self, b: ArrayView1<'_, f64>, k: &VfKernel, ) -> Result<Array2<f64>, GspError>
1D wrapper around DynamicConvolver::convolve.
§Errors
Returns an error when dimensions are invalid or solves fail.
Sourcepub fn convolve_complex(
&mut self,
b: ArrayView2<'_, Complex64>,
k: &VfKernel,
) -> Result<Array3<Complex64>, GspError>
pub fn convolve_complex( &mut self, b: ArrayView2<'_, Complex64>, k: &VfKernel, ) -> Result<Array3<Complex64>, GspError>
Convolves a complex-valued signal matrix by splitting real/imaginary parts.
§Errors
Returns an error when dimensions are invalid or solves fail.
Sourcepub fn convolve_complex_1d(
&mut self,
b: ArrayView1<'_, Complex64>,
k: &VfKernel,
) -> Result<Array2<Complex64>, GspError>
pub fn convolve_complex_1d( &mut self, b: ArrayView1<'_, Complex64>, k: &VfKernel, ) -> Result<Array2<Complex64>, GspError>
1D wrapper around DynamicConvolver::convolve_complex.
§Errors
Returns an error when dimensions are invalid or solves fail.
Sourcepub fn lowpass(
&mut self,
b: ArrayView2<'_, f64>,
scales: &[f64],
order: usize,
) -> Result<Vec<Array2<f64>>, GspError>
pub fn lowpass( &mut self, b: ArrayView2<'_, f64>, scales: &[f64], order: usize, ) -> Result<Vec<Array2<f64>>, GspError>
Applies the analytical low-pass filter over multiple scales.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn lowpass_complex(
&mut self,
b: ArrayView2<'_, Complex64>,
scales: &[f64],
order: usize,
) -> Result<Vec<Array2<Complex64>>, GspError>
pub fn lowpass_complex( &mut self, b: ArrayView2<'_, Complex64>, scales: &[f64], order: usize, ) -> Result<Vec<Array2<Complex64>>, GspError>
Applies analytical low-pass filtering to complex signals.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn lowpass_complex_one(
&mut self,
b: ArrayView2<'_, Complex64>,
scale: f64,
order: usize,
) -> Result<Array2<Complex64>, GspError>
pub fn lowpass_complex_one( &mut self, b: ArrayView2<'_, Complex64>, scale: f64, order: usize, ) -> Result<Array2<Complex64>, GspError>
Applies one complex low-pass solve at a single scale.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn lowpass_one(
&mut self,
b: ArrayView2<'_, f64>,
scale: f64,
order: usize,
) -> Result<Array2<f64>, GspError>
pub fn lowpass_one( &mut self, b: ArrayView2<'_, f64>, scale: f64, order: usize, ) -> Result<Array2<f64>, GspError>
Applies one real low-pass solve at a single scale.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn bandpass(
&mut self,
b: ArrayView2<'_, f64>,
scales: &[f64],
order: usize,
) -> Result<Vec<Array2<f64>>, GspError>
pub fn bandpass( &mut self, b: ArrayView2<'_, f64>, scales: &[f64], order: usize, ) -> Result<Vec<Array2<f64>>, GspError>
Applies the analytical band-pass filter over multiple scales.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn bandpass_one(
&mut self,
b: ArrayView2<'_, f64>,
scale: f64,
order: usize,
) -> Result<Array2<f64>, GspError>
pub fn bandpass_one( &mut self, b: ArrayView2<'_, f64>, scale: f64, order: usize, ) -> Result<Array2<f64>, GspError>
Applies one real band-pass solve at a single scale.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn bandpass_complex(
&mut self,
b: ArrayView2<'_, Complex64>,
scales: &[f64],
order: usize,
) -> Result<Vec<Array2<Complex64>>, GspError>
pub fn bandpass_complex( &mut self, b: ArrayView2<'_, Complex64>, scales: &[f64], order: usize, ) -> Result<Vec<Array2<Complex64>>, GspError>
Applies analytical band-pass filtering to complex signals.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn bandpass_complex_one(
&mut self,
b: ArrayView2<'_, Complex64>,
scale: f64,
order: usize,
) -> Result<Array2<Complex64>, GspError>
pub fn bandpass_complex_one( &mut self, b: ArrayView2<'_, Complex64>, scale: f64, order: usize, ) -> Result<Array2<Complex64>, GspError>
Applies one complex band-pass solve at a single scale.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn highpass(
&mut self,
b: ArrayView2<'_, f64>,
scales: &[f64],
) -> Result<Vec<Array2<f64>>, GspError>
pub fn highpass( &mut self, b: ArrayView2<'_, f64>, scales: &[f64], ) -> Result<Vec<Array2<f64>>, GspError>
Applies the analytical high-pass filter over multiple scales.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn highpass_one(
&mut self,
b: ArrayView2<'_, f64>,
scale: f64,
) -> Result<Array2<f64>, GspError>
pub fn highpass_one( &mut self, b: ArrayView2<'_, f64>, scale: f64, ) -> Result<Array2<f64>, GspError>
Applies one real high-pass solve at a single scale.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn highpass_complex(
&mut self,
b: ArrayView2<'_, Complex64>,
scales: &[f64],
) -> Result<Vec<Array2<Complex64>>, GspError>
pub fn highpass_complex( &mut self, b: ArrayView2<'_, Complex64>, scales: &[f64], ) -> Result<Vec<Array2<Complex64>>, GspError>
Applies analytical high-pass filtering to complex signals.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Sourcepub fn highpass_complex_one(
&mut self,
b: ArrayView2<'_, Complex64>,
scale: f64,
) -> Result<Array2<Complex64>, GspError>
pub fn highpass_complex_one( &mut self, b: ArrayView2<'_, Complex64>, scale: f64, ) -> Result<Array2<Complex64>, GspError>
Applies one complex high-pass solve at a single scale.
§Errors
Returns an error when dimensions/scales are invalid or solves fail.
Auto Trait Implementations§
impl Freeze for DynamicConvolver
impl RefUnwindSafe for DynamicConvolver
impl Send for DynamicConvolver
impl Sync for DynamicConvolver
impl Unpin for DynamicConvolver
impl UnsafeUnpin for DynamicConvolver
impl UnwindSafe for DynamicConvolver
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
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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§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).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§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).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.