pub struct SharpParams {
pub threshold: f64,
pub radius: f64,
pub variant: SharpVariant,
}Expand description
SHARP parameters. The defaults are SEPIA’s (see the module docs).
Fields§
§threshold: f64Deconvolution (TSVD) threshold (default 0.03, SEPIA’s GUI). SharpVariant::Sepia sets
the frequencies where |1 − Ŝ| ≤ threshold to 0 (SHARP.m), SharpVariant::QsmJl
those where |1 − Ŝ| < threshold.
radius: f64Sphere radius in mm (default 4, SEPIA’s GUI, whose “voxel” label is wrong: SHARP.m
takes mm). Before 2026-10-28 this followed QSM.jl (18 · min(voxel size)), and before
that defaulted to 6 mm, which had no reference.
variant: SharpVariantThe implementation to reproduce (default SharpVariant::Sepia).
Implementations§
Source§impl SharpParams
impl SharpParams
Sourcepub const QSMJL_RADIUS_VOXELS: f64 = 18.0
pub const QSMJL_RADIUS_VOXELS: f64 = 18.0
QSM.jl sharp’s default kernel radius as a multiple of the smallest voxel dimension.
Sourcepub fn qsmjl(grid: &Grid) -> Self
pub fn qsmjl(grid: &Grid) -> Self
QSM.jl sharp at its own defaults on grid: SharpVariant::QsmJl, r =
18 · min(voxel size) mm, thr 0.05.
Trait Implementations§
Source§impl Clone for SharpParams
impl Clone for SharpParams
Source§fn clone(&self) -> SharpParams
fn clone(&self) -> SharpParams
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SharpParams
impl Debug for SharpParams
Source§impl Default for SharpParams
impl Default for SharpParams
Auto Trait Implementations§
impl Freeze for SharpParams
impl RefUnwindSafe for SharpParams
impl Send for SharpParams
impl Sync for SharpParams
impl Unpin for SharpParams
impl UnsafeUnpin for SharpParams
impl UnwindSafe for SharpParams
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
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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&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> ⓘ
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