pub enum GibbsMode {
Bautista3d,
Mrtrix2d {
slice_axis: usize,
},
Dipy2d {
slice_axis: usize,
},
}Expand description
Which unringing gibbs_unring_volume and the functions built on it run. See the
module docs for which suits which acquisition.
Variants§
Bautista3d
Bautista et al.’s 3-D unringing (MRtrix3 mrdegibbs -dimensionality 3), for 3-D
acquisitions, which truncate k-space along all three axes. The default: QSM’s
gradient-echo scans are typically 3-D. See gibbs_unring_3d.
Mrtrix2d
Kellner et al.’s 2-D unringing as MRtrix3’s mrdegibbs implements it, for 2-D multi-slice
acquisitions (k-space truncated in-plane only): each slice normal to slice_axis.
See gibbs_unring_2d.
Dipy2d
DIPY’s gibbs_removal (Kellner et al.’s 2-D method as DIPY implements it): each slice
normal to slice_axis is unrung along both of its axes, and the two results are combined
in its 2-D Fourier domain with DIPY’s cosine weights; the output is the magnitude of that
combination. A parity option: DIPY is the reference QSM-CI runs.
Trait Implementations§
impl Copy for GibbsMode
impl Eq for GibbsMode
impl StructuralPartialEq for GibbsMode
Auto Trait Implementations§
impl Freeze for GibbsMode
impl RefUnwindSafe for GibbsMode
impl Send for GibbsMode
impl Sync for GibbsMode
impl Unpin for GibbsMode
impl UnsafeUnpin for GibbsMode
impl UnwindSafe for GibbsMode
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
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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