Medical Imaging Interaction Toolkit  2023.12.99-63768887
Medical Imaging Interaction Toolkit
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