pub struct RigidTransform {
pub rotation: [f64; 9],
pub translation_mm: [f64; 3],
}Expand description
A rigid transform mapping moving-frame LPS points to fixed-frame LPS:
p_fixed = R·p_moving + t. rotation is row-major.
Fields§
§rotation: [f64; 9]Row-major 3×3 rotation (orthonormal, determinant +1).
translation_mm: [f64; 3]Translation in millimetres, applied after rotation.
Implementations§
Source§impl RigidTransform
impl RigidTransform
pub fn identity() -> Self
Sourcepub fn validate(&self) -> Result<(), RegistrationError>
pub fn validate(&self) -> Result<(), RegistrationError>
Orthonormal rows/columns to ROTATION_TOLERANCE and determinant
+1 — a reflection or scaling is not a rigid transform.
Sourcepub fn compose(outer: &Self, inner: &Self) -> Self
pub fn compose(outer: &Self, inner: &Self) -> Self
outer ∘ inner: apply inner first, then outer.
Sourcepub fn apply_to_geometry(&self, geometry: &GridGeometry) -> GridGeometry
pub fn apply_to_geometry(&self, geometry: &GridGeometry) -> GridGeometry
Transform a voxel grid’s patient-space frame: D' = R·D on the
row-major direction and o' = R·o + t on the origin. The result
stays a valid orthonormal GridGeometry because R is.
Trait Implementations§
Source§impl Clone for RigidTransform
impl Clone for RigidTransform
Source§fn clone(&self) -> RigidTransform
fn clone(&self) -> RigidTransform
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 moreimpl Copy for RigidTransform
Source§impl Debug for RigidTransform
impl Debug for RigidTransform
Source§impl<'de> Deserialize<'de> for RigidTransform
impl<'de> Deserialize<'de> for RigidTransform
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for RigidTransform
impl PartialEq for RigidTransform
Source§impl Serialize for RigidTransform
impl Serialize for RigidTransform
impl StructuralPartialEq for RigidTransform
Auto Trait Implementations§
impl Freeze for RigidTransform
impl RefUnwindSafe for RigidTransform
impl Send for RigidTransform
impl Sync for RigidTransform
impl Unpin for RigidTransform
impl UnsafeUnpin for RigidTransform
impl UnwindSafe for RigidTransform
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