Medical Imaging Interaction Toolkit  2021.10.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_HEADER_INCLUDED_C1C68A2C
14 #define MITKLANDMARKPROJECTORBASEDCURVEDGEOMETRY_H_HEADER_INCLUDED_C1C68A2C
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 /* MITKLANDMARKPROJECTORBASEDCURVEDGEOMETRY_H_HEADER_INCLUDED_C1C68A2C */
void PreSetSpacing(const mitk::Vector3D &aSpacing) override
PreSetSpacing.
Superclass of AbstractTransformGeometry sub-classes defined by a set of landmarks.
#define MITKCORE_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
Base-class of landmark-projectors, which project the target landmarks to create source landmarks...
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
Describes a geometry defined by an vtkAbstractTransform and a plane.
mitk::PointSet::DataType::PointsContainer::ConstPointer m_TargetLandmarks
BaseGeometry Describes the geometry of a data object.