Medical Imaging Interaction Toolkit  2024.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkLandmarkProjectorBasedCurvedGeometry.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkLandmarkProjectorBasedCurvedGeometry_h
14 #define mitkLandmarkProjectorBasedCurvedGeometry_h
15 
16 #include "mitkLandmarkProjector.h"
17 
19 #include "mitkPointSet.h"
20 
21 namespace mitk
22 {
23  //##Documentation
24  //## @brief Superclass of AbstractTransformGeometry sub-classes defined
25  //## by a set of landmarks.
26  //##
27  //## @ingroup Geometry
29  {
30  public:
32 
33  void SetLandmarkProjector(mitk::LandmarkProjector *aLandmarkProjector);
34  itkGetConstObjectMacro(LandmarkProjector, mitk::LandmarkProjector);
35 
36  void SetFrameGeometry(const mitk::BaseGeometry *frameGeometry) override;
37 
38  virtual void ComputeGeometry();
39 
40  itkGetConstMacro(InterpolatingAbstractTransform, vtkAbstractTransform *);
41 
42  itk::LightObject::Pointer InternalClone() const override;
43 
44  //##Documentation
45  //## @brief Set the landmarks through which the geometry shall pass
46  itkSetConstObjectMacro(TargetLandmarks, mitk::PointSet::DataType::PointsContainer);
47  //##Documentation
48  //## @brief Get the landmarks through which the geometry shall pass
49  itkGetConstObjectMacro(TargetLandmarks, mitk::PointSet::DataType::PointsContainer);
50 
51  protected:
53 
55 
57 
59 
60  vtkAbstractTransform *m_InterpolatingAbstractTransform;
61 
62  mitk::PointSet::DataType::PointsContainer::ConstPointer m_TargetLandmarks;
63 
64  //##Documentation
65  //## @brief PreSetSpacing
66  //##
67  //## These virtual function allows a different beahiour in subclasses.
68  //## Do implement them in every subclass of BaseGeometry. If not needed, use
69  //## {Superclass::PreSetSpacing();};
70  void PreSetSpacing(const mitk::Vector3D &aSpacing) override { Superclass::PreSetSpacing(aSpacing); };
71  };
72 } // namespace mitk
73 
74 #endif
mitk::LandmarkProjector
Base-class of landmark-projectors, which project the target landmarks to create source landmarks.
Definition: mitkLandmarkProjector.h:31
itk::SmartPointer< Self >
mitk::LandmarkProjectorBasedCurvedGeometry::m_TargetLandmarks
mitk::PointSet::DataType::PointsContainer::ConstPointer m_TargetLandmarks
Definition: mitkLandmarkProjectorBasedCurvedGeometry.h:62
mitk::LandmarkProjectorBasedCurvedGeometry
Superclass of AbstractTransformGeometry sub-classes defined by a set of landmarks.
Definition: mitkLandmarkProjectorBasedCurvedGeometry.h:28
mitkPointSet.h
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::LandmarkProjectorBasedCurvedGeometry::PreSetSpacing
void PreSetSpacing(const mitk::Vector3D &aSpacing) override
PreSetSpacing.
Definition: mitkLandmarkProjectorBasedCurvedGeometry.h:70
mitk::AbstractTransformGeometry
Describes a geometry defined by an vtkAbstractTransform and a plane.
Definition: mitkAbstractTransformGeometry.h:44
mitkAbstractTransformGeometry.h
mitk::Vector< ScalarType, 3 >
mitk::BaseGeometry
BaseGeometry Describes the geometry of a data object.
Definition: mitkBaseGeometry.h:94
mitk::LandmarkProjectorBasedCurvedGeometry::m_InterpolatingAbstractTransform
vtkAbstractTransform * m_InterpolatingAbstractTransform
Definition: mitkLandmarkProjectorBasedCurvedGeometry.h:60
mitkLandmarkProjector.h
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::LandmarkProjectorBasedCurvedGeometry::m_LandmarkProjector
mitk::LandmarkProjector::Pointer m_LandmarkProjector
Definition: mitkLandmarkProjectorBasedCurvedGeometry.h:58
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition: MitkCoreExports.h:15