Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitkNeedleProjectionFilter.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 mitkNeedleProjectionFilter_h
14 #define mitkNeedleProjectionFilter_h
15 
16 #include "MitkIGTExports.h"
17 
18 // MITK
20 #include <mitkNavigationData.h>
21 #include <mitkPointSet.h>
22 #include <mitkGeometry3D.h>
23 
24 namespace mitk {
44  {
45  public:
47  itkNewMacro(Self);
48 
49  virtual void SelectInput(int i);
50 
51  itkGetMacro(TargetPlane, mitk::AffineTransform3D::Pointer);
52  itkSetMacro(TargetPlane, mitk::AffineTransform3D::Pointer);
53  itkGetMacro(Projection, mitk::PointSet::Pointer);
56  void SetToolAxisForFilter(mitk::Point3D point);
59  void ShowToolAxis(bool enabled);
60 
61  protected:
63  ~NeedleProjectionFilter() override;
64 
65  void GenerateData() override;
66 
67  mitk::AffineTransform3D::Pointer m_TargetPlane;
68 
73 
75 
78  void InitializeOriginalPoints(mitk::Point3D toolAxis, bool showToolAxis);
79 
80 
84  mitk::AffineTransform3D::Pointer NavigationDataToTransform(const mitk::NavigationData * nd);
88  mitk::Geometry3D::Pointer TransformToGeometry(mitk::AffineTransform3D::Pointer transform);
89  };
90 } // namespace mitk
91 
92 
93 #endif
mitk::NeedleProjectionFilter::m_ToolAxis
mitk::Point3D m_ToolAxis
Definition: mitkNeedleProjectionFilter.h:72
mitkNavigationData.h
mitk::NeedleProjectionFilter::m_TargetPlane
mitk::AffineTransform3D::Pointer m_TargetPlane
Definition: mitkNeedleProjectionFilter.h:67
itk::SmartPointer< Self >
mitkGeometry3D.h
mitkNavigationDataPassThroughFilter.h
mitk::NavigationData
Navigation Data.
Definition: mitkNavigationData.h:36
mitkPointSet.h
mitk
DataCollection - Class to facilitate loading/accessing structured data.
Definition: RenderingTests.dox:1
mitk::Point< ScalarType, 3 >
mitk::NavigationDataPassThroughFilter
Basis for filters that want to leave the navigation data untouched.
Definition: mitkNavigationDataPassThroughFilter.h:28
mitk::NeedleProjectionFilter::m_ShowToolAxis
bool m_ShowToolAxis
Definition: mitkNeedleProjectionFilter.h:71
mitk::NeedleProjectionFilter::m_OriginalPoints
mitk::PointSet::Pointer m_OriginalPoints
Definition: mitkNeedleProjectionFilter.h:70
mitk::NeedleProjectionFilter::m_SelectedInput
int m_SelectedInput
Definition: mitkNeedleProjectionFilter.h:74
mitk::NeedleProjectionFilter::m_Projection
mitk::PointSet::Pointer m_Projection
Definition: mitkNeedleProjectionFilter.h:69
mitkClassMacro
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
mitk::NeedleProjectionFilter
This filter projects a needle's path onto a plane.
Definition: mitkNeedleProjectionFilter.h:43