pub struct MsmvParams {
pub prefilter: bool,
pub maxk: usize,
pub vessel_radius: Option<f64>,
}Expand description
mSMV options (msmv.m’s prefilter, maxk and vessel_radius, with its defaults). The
prefilter radius is MEDI’s SMV radius and the field strength the scan’s (see
MediParams::msmv).
Fields§
§prefilter: boolSMV-filter the field first, Mask.*(RDF − SMV(RDF)) (default on, as in msmv.m and the
paper). The authors’ README suggests turning it off after background removals that
already applied an SMV (“typically used with SHARP, RESHARP, VSHARP”); the paper kept it
on after PDF, V-SHARP and LBV. In MEDI-mSMV, off is only consistent for a field already
high-passed by the same 5 mm SMV: MEDI still fits it with the SMV-filtered dipole kernel,
and after PDF, V-SHARP or LBV that diverges (NRMSE 280–740 % on the phantom, in the
authors’ MATLAB too; see the module docs).
maxk: usizemaxk: the boundary correction makes at most maxk − 1 passes (default 5)
vessel_radius: Option<f64>Largest fibermetric thickness in voxels; None is msmv.m’s default
max(15, 8·max(voxel_size)). The thicknesses are 1:vessel_radius.
Trait Implementations§
Source§impl Clone for MsmvParams
impl Clone for MsmvParams
Source§fn clone(&self) -> MsmvParams
fn clone(&self) -> MsmvParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MsmvParams
impl Debug for MsmvParams
Source§impl Default for MsmvParams
impl Default for MsmvParams
Source§impl PartialEq for MsmvParams
impl PartialEq for MsmvParams
Source§impl Serialize for MsmvParams
impl Serialize for MsmvParams
impl StructuralPartialEq for MsmvParams
Auto Trait Implementations§
impl Freeze for MsmvParams
impl RefUnwindSafe for MsmvParams
impl Send for MsmvParams
impl Sync for MsmvParams
impl Unpin for MsmvParams
impl UnsafeUnpin for MsmvParams
impl UnwindSafe for MsmvParams
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
impl<T> CloneAny for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for 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 more