Medical Imaging Interaction Toolkit  2026.06.00
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 #include <vtkSmartPointer.h>
22 
23 namespace mitk
24 {
32  {
33  public:
35  itkCloneMacro(Self);
36 
38  void SetLandmarkProjector(mitk::LandmarkProjector *aLandmarkProjector);
39 
41  itkGetConstObjectMacro(LandmarkProjector, mitk::LandmarkProjector);
42 
44  void SetFrameGeometry(const mitk::BaseGeometry *frameGeometry) override;
45 
47  virtual void ComputeGeometry();
48 
50  itkGetConstMacro(InterpolatingAbstractTransform, vtkAbstractTransform *);
51 
53  itkSetConstObjectMacro(TargetLandmarks, mitk::PointSet::DataType::PointsContainer);
54 
56  itkGetConstObjectMacro(TargetLandmarks, mitk::PointSet::DataType::PointsContainer);
57 
58  protected:
60 
62 
64 
65  mitk::LandmarkProjector::Pointer m_LandmarkProjector;
66 
68 
69  mitk::PointSet::DataType::PointsContainer::ConstPointer m_TargetLandmarks;
70 
77  void PreSetSpacing(const mitk::Vector3D &aSpacing) override { Superclass::PreSetSpacing(aSpacing); };
78 
80  };
81 } // namespace mitk
82 
83 #endif
#define MITKCORE_EXPORT
Geometry describing a curved 2D manifold in 3D space via a vtkAbstractTransform.
Abstract base class describing the geometry of a data object.
Superclass of AbstractTransformGeometry sub-classes defined by a set of landmarks.
virtual void ComputeGeometry()
Compute the geometry by projecting the target landmarks through the projector.
mitk::PointSet::DataType::PointsContainer::ConstPointer m_TargetLandmarks
void PreSetSpacing(const mitk::Vector3D &aSpacing) override
Pre-set spacing hook for subclasses.
void SetLandmarkProjector(mitk::LandmarkProjector *aLandmarkProjector)
Set the landmark projector used to project target landmarks.
vtkSmartPointer< vtkAbstractTransform > m_InterpolatingAbstractTransform
mitkClassMacro(LandmarkProjectorBasedCurvedGeometry, AbstractTransformGeometry)
LandmarkProjectorBasedCurvedGeometry(const LandmarkProjectorBasedCurvedGeometry &other)
void SetFrameGeometry(const mitk::BaseGeometry *frameGeometry) override
Set the frame geometry and forward it to the landmark projector.
Base class of landmark projectors, which project the target landmarks to create source landmarks.
Find image slices visible on a given plane.