Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkLandmarkProjector.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 mitkLandmarkProjector_h
14 #define mitkLandmarkProjector_h
15 
16 #include <itkObject.h>
17 #include <MitkCoreExports.h>
18 
19 #include <mitkPlaneGeometry.h>
20 #include <mitkPointSet.h>
21 
22 class vtkAbstractTransform;
23 
24 namespace mitk
25 {
32  class MITKCORE_EXPORT LandmarkProjector : public itk::Object
33  {
34  public:
36 
42  virtual void SetInterpolatingAbstractTransform(vtkAbstractTransform *anInterpolatingAbstractTransform);
43 
50  itkGetConstMacro(InterpolatingAbstractTransform, vtkAbstractTransform *);
51 
56  itkSetConstObjectMacro(FrameGeometry, mitk::BaseGeometry);
57 
62  itkGetConstObjectMacro(FrameGeometry, mitk::BaseGeometry);
63 
65  itkGetConstObjectMacro(ParameterPlane, mitk::PlaneGeometry);
66 
71  itkGetConstObjectMacro(ProjectedLandmarks, mitk::PointSet::DataType::PointsContainer);
72 
77  itkGetConstObjectMacro(FinalTargetLandmarks, mitk::PointSet::DataType::PointsContainer);
78 
85  virtual vtkAbstractTransform *GetCompleteAbstractTransform() const;
86 
91  virtual void ProjectLandmarks(const mitk::PointSet::DataType::PointsContainer *targetLandmarks) = 0;
92 
93  protected:
95  ~LandmarkProjector() override;
96 
107 
108  vtkAbstractTransform *m_InterpolatingAbstractTransform;
109  vtkAbstractTransform *m_CompleteAbstractTransform;
110  mitk::BaseGeometry::ConstPointer m_FrameGeometry;
111  mutable mitk::PlaneGeometry::ConstPointer m_ParameterPlane;
112  mitk::PointSet::DataType::PointsContainer::Pointer m_WritableFinalTargetLandmarks;
113  mitk::PointSet::DataType::PointsContainer::ConstPointer m_FinalTargetLandmarks;
114  mitk::PointSet::DataType::PointsContainer::Pointer m_ProjectedLandmarks;
115  };
116 
117 } // namespace mitk
118 
119 #endif
#define MITKCORE_EXPORT
Abstract base class describing the geometry of a data object.
Base class of landmark projectors, which project the target landmarks to create source landmarks.
virtual vtkAbstractTransform * GetCompleteAbstractTransform() const
Get the transform from parameter space to world space incorporating the given interpolating transform...
virtual void ProjectLandmarks(const mitk::PointSet::DataType::PointsContainer *targetLandmarks)=0
Project the given target landmarks to create source landmarks.
vtkAbstractTransform * m_CompleteAbstractTransform
mitk::PointSet::DataType::PointsContainer::Pointer m_WritableFinalTargetLandmarks
mitk::PlaneGeometry::ConstPointer m_ParameterPlane
~LandmarkProjector() override
virtual void SetInterpolatingAbstractTransform(vtkAbstractTransform *anInterpolatingAbstractTransform)
Set the interpolating (world-space-to-world-space) transform, which uses the landmarks.
mitk::PointSet::DataType::PointsContainer::Pointer m_ProjectedLandmarks
mitk::PointSet::DataType::PointsContainer::ConstPointer m_FinalTargetLandmarks
mitk::BaseGeometry::ConstPointer m_FrameGeometry
virtual void ComputeCompleteAbstractTransform()=0
Compute the transform from parameter space to world space incorporating the given interpolating trans...
vtkAbstractTransform * m_InterpolatingAbstractTransform
mitkClassMacroItkParent(LandmarkProjector, itk::Object)
Describes the geometry of a plane object.
Find image slices visible on a given plane.