Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::ThinPlateSplineCurvedGeometry Class Reference

Thin-plate-spline-based landmark-based curved geometry. More...

#include <mitkThinPlateSplineCurvedGeometry.h>

Inheritance diagram for mitk::ThinPlateSplineCurvedGeometry:
Collaboration diagram for mitk::ThinPlateSplineCurvedGeometry:

Public Member Functions

 mitkClassMacro (ThinPlateSplineCurvedGeometry, LandmarkProjectorBasedCurvedGeometry)
 
Pointer Clone () const
 
void ComputeGeometry () override
 Compute the geometry by initializing the thin-plate-spline transform from projected and target landmarks. More...
 
vtkThinPlateSplineTransform * GetThinPlateSplineTransform () const
 Return the underlying vtkThinPlateSplineTransform. More...
 
virtual void SetSigma (double sigma)
 Set the stiffness parameter (sigma) of the thin-plate-spline transform. More...
 
virtual double GetSigma () const
 Get the stiffness parameter (sigma) of the thin-plate-spline transform. More...
 
bool IsValid () const override
 Check whether the geometry is valid. More...
 
- Public Member Functions inherited from mitk::LandmarkProjectorBasedCurvedGeometry
 mitkClassMacro (LandmarkProjectorBasedCurvedGeometry, AbstractTransformGeometry)
 
Pointer Clone () const
 
void SetLandmarkProjector (mitk::LandmarkProjector *aLandmarkProjector)
 Set the landmark projector used to project target landmarks. More...
 
virtual const mitk::LandmarkProjector * GetLandmarkProjector ()
 Get the landmark projector. More...
 
void SetFrameGeometry (const mitk::BaseGeometry *frameGeometry) override
 Set the frame geometry and forward it to the landmark projector. More...
 
virtual vtkAbstractTransform * GetInterpolatingAbstractTransform () const
 Get the interpolating abstract transform. More...
 
virtual void SetTargetLandmarks (const mitk::PointSet::DataType::PointsContainer *_arg)
 Set the landmarks through which the geometry shall pass. More...
 
virtual const mitk::PointSet::DataType::PointsContainer * GetTargetLandmarks ()
 Get the landmarks through which the geometry shall pass. More...
 
- Public Member Functions inherited from mitk::AbstractTransformGeometry
 mitkClassMacro (AbstractTransformGeometry, PlaneGeometry)
 
Pointer Clone () const
 
virtual vtkAbstractTransform * GetVtkAbstractTransform () const
 Get the underlying vtkAbstractTransform. More...
 
itk::ModifiedTimeType GetMTime () const override
 Get the modification time, accounting for the transform. More...
 
virtual const PlaneGeometry * GetPlane ()
 Get the planar rectangle used as the 2D parameter space. More...
 
bool Project (const mitk::Point3D &pt3d_mm, mitk::Point3D &projectedPt3d_mm) const override
 Project a 3D point onto the curved surface. More...
 
bool Project (const mitk::Vector3D &vec3d_mm, mitk::Vector3D &projectedVec3d_mm) const override
 Project a 3D vector onto the curved surface. More...
 
bool Map (const mitk::Point3D &pt3d_mm, mitk::Point2D &pt2d_mm) const override
 Map a 3D world point onto the 2D parameter space. More...
 
void Map (const mitk::Point2D &pt2d_mm, mitk::Point3D &pt3d_mm) const override
 Map a 2D parameter-space point to 3D world coordinates. More...
 
bool Map (const mitk::Point3D &atPt3d_mm, const mitk::Vector3D &vec3d_mm, mitk::Vector2D &vec2d_mm) const override
 Map a 3D vector at a given 3D point to a 2D parameter-space vector. More...
 
void Map (const mitk::Point2D &atPt2d_mm, const mitk::Vector2D &vec2d_mm, mitk::Vector3D &vec3d_mm) const override
 Map a 2D parameter-space vector to a 3D world vector. More...
 
void IndexToWorld (const mitk::Point2D &pt_units, mitk::Point2D &pt_mm) const override
 Convert 2D index coordinates to 2D world coordinates via the internal plane. More...
 
void WorldToIndex (const mitk::Point2D &pt_mm, mitk::Point2D &pt_units) const override
 Convert 2D world coordinates to 2D index coordinates via the internal plane. More...
 
void IndexToWorld (const mitk::Vector2D &vec_units, mitk::Vector2D &vec_mm) const override
 Convert 2D index coordinates of a vector to world coordinates (mm). More...
 
void WorldToIndex (const mitk::Vector2D &vec_mm, mitk::Vector2D &vec_units) const override
 Convert world coordinates (mm) of a 2D vector to continuous index coordinates. More...
 
bool IsAbove (const Point3D &pt3d_mm, bool considerBoundingBox=false) const override
 Determine whether a point is above the curved plane. More...
 
virtual mitk::ScalarType GetParametricExtentInMM (int direction) const
 Get the parametric extent in mm for a given direction. More...
 
virtual const itk::Transform< mitk::ScalarType, 3, 3 > * GetParametricTransform () const
 Get the parametric transform (the ITK wrapper around the vtkAbstractTransform). More...
 
virtual void SetOversampling (mitk::ScalarType oversampling)
 Multiply the parametric bounds by an oversampling factor. More...
 
virtual void CalculateFrameGeometry ()
 Compute the frame geometry (IndexToWorldTransform + bounds) around the curved surface. More...
 
virtual const BoundingBox * GetParametricBoundingBox ()
 Get the parametric bounding box. More...
 
const BoundingBox::BoundsArrayType & GetParametricBounds () const
 Get the parametric bounds array. More...
 
mitk::ScalarType GetParametricExtent (int direction) const
 Get the parametric extent in a given direction (in index/unit coordinates). More...
 
- Public Member Functions inherited from mitk::PlaneGeometry
 mitkClassMacro (PlaneGeometry, BaseGeometry)
 
Pointer Clone () const
 
virtual void InitializeStandardPlane (const BaseGeometry *geometry3D, AnatomicalPlane planeorientation=AnatomicalPlane::Axial, ScalarType zPosition=0, bool frontside=true, bool rotated=false, bool top=true)
 Initialize a plane with orientation AnatomicalPlane (default: axial) with respect to BaseGeometry (default: identity). Spacing also taken from BaseGeometry. More...
 
virtual void InitializeStandardPlane (const BaseGeometry *geometry3D, bool top, AnatomicalPlane planeorientation=AnatomicalPlane::Axial, bool frontside=true, bool rotated=false)
 Initialize a plane with orientation AnatomicalPlane (default: axial) with respect to BaseGeometry (default: identity). Spacing also taken from BaseGeometry. More...
 
virtual void InitializeStandardPlane (ScalarType width, ScalarType height, const AffineTransform3D *transform=nullptr, AnatomicalPlane planeorientation=AnatomicalPlane::Axial, ScalarType zPosition=0, bool frontside=true, bool rotated=false, bool top=true)
 Initialize a plane with orientation AnatomicalPlane (default: axial) with respect to transform (default: identity) given width and height in units. More...
 
virtual void InitializeStandardPlane (ScalarType width, ScalarType height, const Vector3D &spacing, AnatomicalPlane planeorientation=AnatomicalPlane::Axial, ScalarType zPosition=0, bool frontside=true, bool rotated=false, bool top=true)
 Initialize plane with orientation AnatomicalPlane (default: axial) given width, height and spacing. More...
 
virtual void InitializeStandardPlane (ScalarType width, ScalarType height, const Vector3D &rightVector, const Vector3D &downVector, const Vector3D *spacing=nullptr)
 Initialize plane by width and height in pixels, right-/down-vector (itk) to describe orientation in world-space (vectors will be normalized) and spacing (default: 1.0 mm in all directions). More...
 
virtual void InitializeStandardPlane (ScalarType width, ScalarType height, const VnlVector &rightVector, const VnlVector &downVector, const Vector3D *spacing=nullptr)
 Initialize plane by width and height in pixels, right-/down-vector (vnl) to describe orientation in world-space (vectors will be normalized) and spacing (default: 1.0 mm in all directions). More...
 
virtual void InitializeStandardPlane (const Vector3D &rightVector, const Vector3D &downVector, const Vector3D *spacing=nullptr)
 Initialize plane by right-/down-vector (itk) and spacing (default: 1.0 mm in all directions). More...
 
virtual void InitializeStandardPlane (const VnlVector &rightVector, const VnlVector &downVector, const Vector3D *spacing=nullptr)
 Initialize plane by right-/down-vector (vnl) and spacing (default: 1.0 mm in all directions). More...
 
virtual void InitializePlane (const Point3D &origin, const Vector3D &normal)
 Initialize plane by origin and normal (size is 1.0 mm in all directions, direction of right-/down-vector valid but undefined). More...
 
void SetMatrixByVectors (const VnlVector &rightVector, const VnlVector &downVector, ScalarType thickness=1.0)
 Initialize plane by right-/down-vector. More...
 
Vector3D GetNormal () const
 Get the normal vector of the plane. More...
 
VnlVector GetNormalVnl () const
 Get the normal vector of the plane as a VnlVector. More...
 
virtual ScalarType SignedDistance (const Point3D &pt3d_mm) const
 Compute the signed distance of a point from the plane. More...
 
ScalarType DistanceFromPlane (const Point3D &pt3d_mm) const
 Unsigned distance of a point from the infinite plane. More...
 
ScalarType SignedDistanceFromPlane (const Point3D &pt3d_mm) const
 Signed distance of the point from the plane (bounding-box not considered) More...
 
ScalarType DistanceFromPlane (const PlaneGeometry *plane) const
 Distance of the plane from another plane (bounding-box not considered) More...
 
ScalarType SignedDistanceFromPlane (const PlaneGeometry *plane) const
 Signed distance of the plane from another plane (bounding-box not considered) More...
 
bool IntersectionLine (const PlaneGeometry *plane, Line3D &crossline) const
 Calculate the intersecting line of two planes. More...
 
unsigned int IntersectWithPlane2D (const PlaneGeometry *plane, Point2D &lineFrom, Point2D &lineTo) const
 Calculate two points where another plane intersects the border of this plane. More...
 
double Angle (const PlaneGeometry *plane) const
 Calculate the angle between two planes. More...
 
double Angle (const Line3D &line) const
 Calculate the angle between the plane and a line. More...
 
bool IntersectionPoint (const Line3D &line, Point3D &intersectionPoint) const
 Calculate intersection point between the plane and a line. More...
 
bool IntersectionPointParam (const Line3D &line, double &t) const
 Calculate line parameter of intersection point between the plane and a line. More...
 
bool IsParallel (const PlaneGeometry *plane) const
 Returns whether the plane is parallel to another plane. More...
 
bool IsOnPlane (const Point3D &point) const
 Returns whether the point is on the plane (bounding-box not considered) More...
 
bool IsOnPlane (const Line3D &line) const
 Returns whether the line is on the plane (bounding-box not considered) More...
 
bool IsOnPlane (const PlaneGeometry *plane) const
 Returns whether the plane is on the plane (bounding-box not considered) More...
 
Point3D ProjectPointOntoPlane (const Point3D &pt) const
 Returns the lot from the point to the plane. More...
 
void ExecuteOperation (Operation *operation) override
 Execute an operation to re-orient or reposition the plane. More...
 
virtual void SetSizeInUnits (mitk::ScalarType width, mitk::ScalarType height)
 Set the width and height of this 2D-geometry in units by calling SetBounds. This does not change the extent in mm! More...
 
ScalarType Distance (const Point3D &pt3d_mm) const
 Unsigned distance of a point from the geometry. More...
 
void SetReferenceGeometry (const mitk::BaseGeometry *geometry)
 Set the geometrical frame of reference in which this PlaneGeometry is placed. More...
 
const BaseGeometry * GetReferenceGeometry () const
 Get the geometrical frame of reference for this PlaneGeometry. More...
 
bool HasReferenceGeometry () const
 Check whether a reference geometry has been set. More...
 
- Public Member Functions inherited from mitk::BaseGeometry
 mitkClassMacroItkParent (BaseGeometry, itk::Object)
 
Pointer Clone () const
 
Point3D GetOrigin () const
 Get the origin of the geometry in world coordinates (mm). More...
 
void SetOrigin (const Point3D &origin)
 Set the origin of the geometry in world coordinates (mm). More...
 
mitk::Vector3D GetSpacing () const
 Get the spacing (voxel size) in mm per unit for each axis. More...
 
void SetSpacing (const mitk::Vector3D &aSpacing, bool enforceSetSpacing=false)
 Set the spacing (voxel size) for each axis. More...
 
VnlVector GetOriginVnl () const
 Get the origin as a VNL vector. More...
 
virtual unsigned int GetFrameOfReferenceID () const
 Get the DICOM FrameOfReferenceID referring to the world coordinate system. More...
 
virtual void SetFrameOfReferenceID (unsigned int _arg)
 Set the DICOM FrameOfReferenceID referring to the world coordinate system. More...
 
virtual unsigned long GetIndexToWorldTransformLastModified () const
 Get the last-modified timestamp of the IndexToWorldTransform. More...
 
void Modified () const override
 Overloaded Modified() to support the ModifiedLock mechanism. More...
 
void Initialize ()
 Initialize the geometry to default values. More...
 
void InitializeGeometry (Self *newGeometry) const
 Copy the essential geometry properties into another instance. More...
 
mitk::AffineTransform3D * GetIndexToWorldTransform ()
 Get the affine transform that maps index coordinates to world coordinates. More...
 
const mitk::AffineTransform3D * GetIndexToWorldTransform () const
 Get the affine transform that maps index coordinates to world coordinates (const). More...
 
void SetIndexToWorldTransform (mitk::AffineTransform3D *transform)
 Set the affine transform for index-to-world coordinate mapping. More...
 
void SetIndexToWorldTransformByVtkMatrix (vtkMatrix4x4 *vtkmatrix)
 Set the IndexToWorldTransform via a vtkMatrix4x4. More...
 
void SetIndexToWorldTransformWithoutChangingSpacing (mitk::AffineTransform3D *transform)
 Set the IndexToWorldTransform while preserving the current spacing. More...
 
void SetIndexToWorldTransformByVtkMatrixWithoutChangingSpacing (vtkMatrix4x4 *vtkmatrix)
 Set the IndexToWorldTransform via a vtkMatrix4x4 while preserving spacing. More...
 
vtkMatrix4x4 * GetVtkMatrix ()
 Get the IndexToWorldTransform as a 4x4 VTK matrix. More...
 
const vtkMatrix4x4 * GetVtkMatrix () const
 Get the IndexToWorldTransform as a 4x4 VTK matrix (const). More...
 
vtkLinearTransform * GetVtkTransform () const
 Get the IndexToWorldTransform as a vtkLinearTransform. More...
 
void SetIdentity ()
 Reset the geometry to identity. More...
 
void Compose (const TransformType *other, bool pre=false)
 Compose the IndexToWorldTransform with another transform. More...
 
void Compose (const vtkMatrix4x4 *vtkmatrix, bool pre=false)
 Compose the IndexToWorldTransform with a vtkMatrix4x4. More...
 
void Translate (const Vector3D &vector)
 Translate the origin by a given vector. More...
 
void WorldToIndex (const mitk::Point3D &pt_mm, mitk::Point3D &pt_units) const
 Convert world coordinates (mm) of a point to continuous index coordinates. More...
 
void WorldToIndex (const mitk::Vector3D &vec_mm, mitk::Vector3D &vec_units) const
 Convert world coordinates (mm) of a vector to continuous index coordinates. More...
 
template<unsigned int VIndexDimension>
void WorldToIndex (const mitk::Point3D &pt_mm, itk::Index< VIndexDimension > &index) const
 Convert world coordinates (mm) of a point to discrete (integer) index coordinates. More...
 
void IndexToWorld (const mitk::Vector3D &vec_units, mitk::Vector3D &vec_mm) const
 Convert index coordinates of a vector to world coordinates (mm). More...
 
void IndexToWorld (const mitk::Point3D &pt_units, mitk::Point3D &pt_mm) const
 Convert continuous or discrete index coordinates of a point to world coordinates (mm). More...
 
template<unsigned int VIndexDimension>
void IndexToWorld (const itk::Index< VIndexDimension > &index, mitk::Point3D &pt_mm) const
 Convert discrete (itk::Index) index coordinates of a point to world coordinates (mm). More...
 
template<class TCoordRep >
void ItkPhysicalPointToWorld (const itk::Point< TCoordRep, 3 > &itkPhysicalPoint, mitk::Point3D &pt_mm) const
 Convert an ITK physical point to MITK world coordinates. More...
 
template<class TCoordRep >
void WorldToItkPhysicalPoint (const mitk::Point3D &pt_mm, itk::Point< TCoordRep, 3 > &itkPhysicalPoint) const
 Convert MITK world coordinates to ITK physical coordinates. More...
 
virtual const BoundingBoxType * GetBoundingBox ()
 Get the bounding box in index/unit coordinates. More...
 
const BoundsArrayType GetBounds () const
 Get the bounding box bounds as a BoundsArrayType in index/unit coordinates. More...
 
void SetBounds (const BoundsArrayType &bounds)
 Set the bounding box in index/unit coordinates. More...
 
void SetFloatBounds (const float bounds[6])
 Set the bounding box via a float array. More...
 
void SetFloatBounds (const double bounds[6])
 Set the bounding box via a double array. More...
 
VnlVector GetMatrixColumn (unsigned int direction) const
 Get a column of the IndexToWorldTransform matrix as a VnlVector. More...
 
mitk::BoundingBox::Pointer CalculateBoundingBoxRelativeToTransform (const mitk::AffineTransform3D *transform) const
 Calculate a bounding box relative to a given transform. More...
 
ScalarType GetExtent (unsigned int direction) const
 Set the time bounds (in ms) More...
 
ScalarType GetExtentInMM (int direction) const
 Get the extent of the bounding box in mm along the specified direction. More...
 
Vector3D GetAxisVector (unsigned int direction) const
 Get a vector along the bounding box in the specified direction in mm. More...
 
virtual bool Is2DConvertable ()
 Check if this geometry can be converted to 2D without information loss. More...
 
Point3D GetCenter () const
 Get the center of the bounding box in world coordinates (mm). More...
 
double GetDiagonalLength2 () const
 Get the squared length of the bounding-box diagonal in mm. More...
 
double GetDiagonalLength () const
 Get the length of the bounding-box diagonal in mm. More...
 
Point3D GetCornerPoint (int id) const
 Get the position of corner number id in world coordinates. More...
 
Point3D GetCornerPoint (bool xFront=true, bool yFront=true, bool zFront=true) const
 Get the position of a corner in world coordinates. More...
 
void SetExtentInMM (int direction, ScalarType extentInMM)
 Set the extent of the bounding box in mm along the specified direction. More...
 
bool IsInside (const mitk::Point3D &p) const
 Test whether a point (world coordinates, mm) lies inside the bounding box. More...
 
bool IsIndexInside (const mitk::Point3D &index) const
 Test whether a point in continuous index coordinates lies inside the bounding box. More...
 
template<unsigned int VIndexDimension>
bool IsIndexInside (const itk::Index< VIndexDimension > &index) const
 Test whether a discrete ITK index lies inside the bounding box. More...
 
Point3D ClampPoint (const Point3D &point) const
 Clamp a point to lie within the geometry's world-coordinate bounds. More...
 
virtual void ChangeImageGeometryConsideringOriginOffset (const bool isAnImageGeometry)
 Switch between image geometry and normal geometry with origin correction. More...
 
virtual bool GetImageGeometry () const
 Query whether this geometry refers to an image. More...
 
virtual void SetImageGeometry (bool _arg)
 Define that this BaseGeometry refers to an image. More...
 
virtual void ImageGeometryOn ()
 Toggle macro for ImageGeometry (ImageGeometryOn/ImageGeometryOff). More...
 
virtual void ImageGeometryOff ()
 
const GeometryTransformHolder * GetGeometryTransformHolder () const
 Get the internal GeometryTransformHolder. More...
 
void MapAxesToOrientations (int axes[]) const
 Map geometry axes to anatomical orientations (sagittal, coronal, axial). More...
 
- Public Member Functions inherited from mitk::OperationActor
 itkTypeMacroNoParent (OperationActor) virtual ~OperationActor()
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::AbstractTransformGeometry
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::PlaneGeometry
static Pointer New ()
 
static bool CheckRotationMatrix (AffineTransform3D *transform, double epsilon=1e-6)
 Check if matrix is a rotation matrix: More...
 

Protected Member Functions

 ThinPlateSplineCurvedGeometry ()
 
 ThinPlateSplineCurvedGeometry (const ThinPlateSplineCurvedGeometry &other)
 
 ~ThinPlateSplineCurvedGeometry () override
 
void PreSetSpacing (const mitk::Vector3D &aSpacing) override
 Hook for subclasses to customize spacing behavior. More...
 
 mitkCloneMacro (Self)
 
- Protected Member Functions inherited from mitk::LandmarkProjectorBasedCurvedGeometry
 LandmarkProjectorBasedCurvedGeometry ()
 
 LandmarkProjectorBasedCurvedGeometry (const LandmarkProjectorBasedCurvedGeometry &other)
 
 ~LandmarkProjectorBasedCurvedGeometry () override
 
 mitkCloneMacro (Self)
 
- Protected Member Functions inherited from mitk::AbstractTransformGeometry
 AbstractTransformGeometry ()
 
 AbstractTransformGeometry (const AbstractTransformGeometry &other)
 
 ~AbstractTransformGeometry () override
 
virtual void SetVtkAbstractTransform (vtkAbstractTransform *aVtkAbstractTransform)
 Set the vtkAbstractTransform (stored in m_VtkAbstractTransform) More...
 
virtual void SetPlane (const mitk::PlaneGeometry *aPlane)
 Set the rectangular area that is used for transformation by m_VtkAbstractTransform and therewith defines the 2D manifold described by ExternAbstractTransformGeometry. More...
 
virtual void SetParametricBounds (const BoundingBox::BoundsArrayType &bounds)
 Set the parametric bounds. More...
 
 mitkCloneMacro (Self)
 
- Protected Member Functions inherited from mitk::PlaneGeometry
 PlaneGeometry ()
 
 PlaneGeometry (const PlaneGeometry &other)
 
 ~PlaneGeometry () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void CheckBounds (const BoundsArrayType &bounds) override
 CheckBounds. More...
 
void CheckIndexToWorldTransform (mitk::AffineTransform3D *transform) override
 CheckIndexToWorldTransform. More...
 
 mitkCloneMacro (Self)
 
- Protected Member Functions inherited from mitk::BaseGeometry
 BaseGeometry ()
 
 BaseGeometry (const BaseGeometry &other)
 
 ~BaseGeometry () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
virtual unsigned int GetNDimensions () const
 
bool IsBoundingBoxNull () const
 
bool IsIndexToWorldTransformNull () const
 
void SetVtkMatrixDeepCopy (vtkTransform *vtktransform)
 
void _SetSpacing (const mitk::Vector3D &aSpacing, bool enforceSetSpacing=false)
 

Protected Attributes

vtkThinPlateSplineTransform * m_ThinPlateSplineTransform
 
vtkSmartPointer< vtkPoints > m_VtkTargetLandmarks
 
vtkSmartPointer< vtkPoints > m_VtkProjectedLandmarks
 
- Protected Attributes inherited from mitk::LandmarkProjectorBasedCurvedGeometry
mitk::LandmarkProjector::Pointer m_LandmarkProjector
 
vtkSmartPointer< vtkAbstractTransform > m_InterpolatingAbstractTransform
 
mitk::PointSet::DataType::PointsContainer::ConstPointer m_TargetLandmarks
 
- Protected Attributes inherited from mitk::AbstractTransformGeometry
mitk::PlaneGeometry::Pointer m_Plane
 The rectangular area that is used for transformation by m_VtkAbstractTransform and therewith defines the 2D manifold described by AbstractTransformGeometry. More...
 
itk::VtkAbstractTransform< ScalarType >::Pointer m_ItkVtkAbstractTransform
 
mitk::BaseGeometry::Pointer m_FrameGeometry
 
mitk::BoundingBox::Pointer m_ParametricBoundingBox
 
- Protected Attributes inherited from mitk::PlaneGeometry
const mitk::BaseGeometry * m_ReferenceGeometry
 

Additional Inherited Members

- Public Types inherited from mitk::BaseGeometry
typedef GeometryTransformHolder::TransformType TransformType
 Affine transform type used for index-to-world mapping. More...
 
typedef itk::BoundingBox< unsigned long, 3, ScalarType > BoundingBoxType
 3D bounding box type parameterized with ScalarType. More...
 
typedef BoundingBoxType::BoundsArrayType BoundsArrayType
 Fixed-size array of six ScalarType values representing axis-aligned bounds [xmin,xmax,ymin,ymax,zmin,zmax]. More...
 
typedef BoundingBoxType::Pointer BoundingBoxPointer
 Smart-pointer type for BoundingBoxType. More...
 
- Static Protected Member Functions inherited from mitk::BaseGeometry
static const std::string GetTransformAsString (TransformType *transformType)
 

Detailed Description

Thin-plate-spline-based landmark-based curved geometry.

Uses a vtkThinPlateSplineTransform to deform a planar geometry based on source and target landmark positions.

Definition at line 31 of file mitkThinPlateSplineCurvedGeometry.h.

Constructor & Destructor Documentation

◆ ThinPlateSplineCurvedGeometry() [1/2]

mitk::ThinPlateSplineCurvedGeometry::ThinPlateSplineCurvedGeometry ( )
protected

◆ ThinPlateSplineCurvedGeometry() [2/2]

mitk::ThinPlateSplineCurvedGeometry::ThinPlateSplineCurvedGeometry ( const ThinPlateSplineCurvedGeometry &  other)
protected

◆ ~ThinPlateSplineCurvedGeometry()

mitk::ThinPlateSplineCurvedGeometry::~ThinPlateSplineCurvedGeometry ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::ThinPlateSplineCurvedGeometry::Clone ( ) const

◆ ComputeGeometry()

void mitk::ThinPlateSplineCurvedGeometry::ComputeGeometry ( )
overridevirtual

Compute the geometry by initializing the thin-plate-spline transform from projected and target landmarks.

Reimplemented from mitk::LandmarkProjectorBasedCurvedGeometry.

◆ GetSigma()

virtual double mitk::ThinPlateSplineCurvedGeometry::GetSigma ( ) const
virtual

Get the stiffness parameter (sigma) of the thin-plate-spline transform.

Returns
The current sigma value.

◆ GetThinPlateSplineTransform()

vtkThinPlateSplineTransform* mitk::ThinPlateSplineCurvedGeometry::GetThinPlateSplineTransform ( ) const
inline

Return the underlying vtkThinPlateSplineTransform.

Returns
Pointer to the internal vtkThinPlateSplineTransform instance.

Definition at line 50 of file mitkThinPlateSplineCurvedGeometry.h.

◆ IsValid()

bool mitk::ThinPlateSplineCurvedGeometry::IsValid ( ) const
overridevirtual

Check whether the geometry is valid.

A ThinPlateSplineCurvedGeometry is valid when it has at least 3 target landmarks and a landmark projector has been set.

Returns
True if the geometry is valid, false otherwise.

Reimplemented from mitk::BaseGeometry.

◆ mitkClassMacro()

mitk::ThinPlateSplineCurvedGeometry::mitkClassMacro ( ThinPlateSplineCurvedGeometry  ,
LandmarkProjectorBasedCurvedGeometry   
)

◆ mitkCloneMacro()

mitk::ThinPlateSplineCurvedGeometry::mitkCloneMacro ( Self  )
protected

◆ New()

static Pointer mitk::ThinPlateSplineCurvedGeometry::New ( )
static

◆ PreSetSpacing()

void mitk::ThinPlateSplineCurvedGeometry::PreSetSpacing ( const mitk::Vector3D &  aSpacing)
inlineoverrideprotectedvirtual

Hook for subclasses to customize spacing behavior.

This virtual function allows different behavior in subclasses. Implement in every subclass of BaseGeometry. If not needed, use {Superclass::PreSetSpacing();}.

Reimplemented from mitk::LandmarkProjectorBasedCurvedGeometry.

Definition at line 92 of file mitkThinPlateSplineCurvedGeometry.h.

◆ SetSigma()

virtual void mitk::ThinPlateSplineCurvedGeometry::SetSigma ( double  sigma)
virtual

Set the stiffness parameter (sigma) of the thin-plate-spline transform.

Parameters
[in]sigmaThe sigma value controlling the stiffness of the spline.

Member Data Documentation

◆ m_ThinPlateSplineTransform

vtkThinPlateSplineTransform* mitk::ThinPlateSplineCurvedGeometry::m_ThinPlateSplineTransform
protected

Definition at line 80 of file mitkThinPlateSplineCurvedGeometry.h.

◆ m_VtkProjectedLandmarks

vtkSmartPointer<vtkPoints> mitk::ThinPlateSplineCurvedGeometry::m_VtkProjectedLandmarks
protected

Definition at line 83 of file mitkThinPlateSplineCurvedGeometry.h.

◆ m_VtkTargetLandmarks

vtkSmartPointer<vtkPoints> mitk::ThinPlateSplineCurvedGeometry::m_VtkTargetLandmarks
protected

Definition at line 82 of file mitkThinPlateSplineCurvedGeometry.h.


The documentation for this class was generated from the following file: