pub struct Pyramid {
pub dims: [usize; 3],
pub lens: Vec<[usize; 3]>,
pub split: Vec<[bool; 3]>,
pub bands: Vec<Band>,
}Expand description
The dyadic pyramid for a shape.
Fields§
§dims: [usize; 3]Shape (3D, row-major, axis 2 fastest).
lens: Vec<[usize; 3]>lens[l] = LL extent entering level l (lens[0] = dims).
split: Vec<[bool; 3]>split[l][a]: axis a is transformed at level l.
bands: Vec<Band>Bands in coding order: LL first, then detail bands coarse → fine.
Implementations§
Source§impl Pyramid
impl Pyramid
Sourcepub fn new(dims: [usize; 3], max_levels: usize) -> Self
pub fn new(dims: [usize; 3], max_levels: usize) -> Self
Build the pyramid for dims with at most max_levels levels.
Sourcepub fn band_weight(&self, band: &Band) -> f64
pub fn band_weight(&self, band: &Band) -> f64
L2 norm of the CDF 9/7 synthesis basis function of a coefficient in
band (separable product of 1D norms). Scaling coefficients by it makes
one uniform step equal-slope (MSE-matched) across bands.
Sourcepub fn parent_band(&self, bi: usize) -> Option<usize>
pub fn parent_band(&self, bi: usize) -> Option<usize>
The coarser-level coefficient (“parent”) of position p in detail band
bi: same orientation one level up, or None if that band does not
exist (coarsest detail level, or the axis set stops splitting).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Pyramid
impl RefUnwindSafe for Pyramid
impl Send for Pyramid
impl Sync for Pyramid
impl Unpin for Pyramid
impl UnsafeUnpin for Pyramid
impl UnwindSafe for Pyramid
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