pub struct BetParams {
pub fractional_intensity: f64,
pub smoothness: f64,
pub gradient_threshold: f64,
pub iterations: usize,
pub subdivisions: usize,
pub voxel_scale: f64,
}Expand description
BET algorithm parameters
Fields§
§fractional_intensity: f64Fractional intensity threshold (0.0-1.0, smaller = larger brain)
smoothness: f64Surface smoothness factor
gradient_threshold: f64Gradient threshold (-1 to 1)
iterations: usizeNumber of iterations
subdivisions: usizeIcosphere subdivision level
voxel_scale: f64Factor applied to the grid’s voxel sizes before the surface is evolved (default 1.0 = the acquisition’s own geometry).
BET’s surface model is fixed in human-scale millimetres — a 7 mm / 3 mm intensity search
along each vertex normal, and curvature bounded between 3.33 mm and 10 mm radii — so on a
~1 cm rodent brain those distances span the whole head and the search runs straight
through the skull. Inflating the voxel sizes so the brain reaches roughly human
dimensions is the standard preclinical workaround (fslchpixdim x10 before bet);
a scale of 10 suits mouse data.
The mask is returned on the input index grid either way, so nothing needs scaling back.
Prefer super::rs2_net where the weights can be fetched: on an in-vivo mouse GRE it
follows the inner skull, where scaled BET still leaks into the skull base.
Trait Implementations§
impl StructuralPartialEq for BetParams
Auto Trait Implementations§
impl Freeze for BetParams
impl RefUnwindSafe for BetParams
impl Send for BetParams
impl Sync for BetParams
impl Unpin for BetParams
impl UnsafeUnpin for BetParams
impl UnwindSafe for BetParams
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