pub struct TensorMaps {
pub eigenvalues: [Vec<f64>; 3],
pub mms: Vec<f64>,
pub msa: Vec<f64>,
pub pev: [Vec<f64>; 3],
}Expand description
Rotationally invariant maps derived from the tensor’s eigen-decomposition.
Fields§
§eigenvalues: [Vec<f64>; 3]Eigenvalues per voxel in ASCENDING order: [lambda_min, lambda_mid, lambda_max].
mms: Vec<f64>Mean magnetic susceptibility: the mean of the three eigenvalues. This is the orientation-independent counterpart of a scalar QSM map.
msa: Vec<f64>Magnetic susceptibility anisotropy: lambda_max - (lambda_min + lambda_mid)/2.
pev: [Vec<f64>; 3]Principal eigenvector, the eigenvector of the LARGEST eigenvalue, as three component
volumes [x, y, z] in voxel coordinates.
Paired with the msa convention above, so the two describe the same axis. Note that
which end of the spectrum is called “principal” differs between STI papers; this
module is internally consistent and follows the reference implementations, but compare
carefully before matching numbers against another toolbox.
Trait Implementations§
Source§impl Clone for TensorMaps
impl Clone for TensorMaps
Source§fn clone(&self) -> TensorMaps
fn clone(&self) -> TensorMaps
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TensorMaps
impl RefUnwindSafe for TensorMaps
impl Send for TensorMaps
impl Sync for TensorMaps
impl Unpin for TensorMaps
impl UnsafeUnpin for TensorMaps
impl UnwindSafe for TensorMaps
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