15 #ifndef niftkVTKIterativeClosestPoint_h
16 #define niftkVTKIterativeClosestPoint_h
19 #include <vtkPolyData.h>
20 #include <vtkSmartPointer.h>
21 #include <vtkMatrix4x4.h>
22 #include <vtkCellLocator.h>
55 double GetRMSResidual(vtkPolyData &
source)
const;
60 vtkSmartPointer<vtkMatrix4x4> GetTransform()
const;
65 void ApplyTransform(vtkPolyData *solution);
70 void SetSource(vtkSmartPointer<vtkPolyData>);
75 void SetTarget(vtkSmartPointer<vtkPolyData>);
80 void SetICPMaxLandmarks(
unsigned int);
85 void SetICPMaxIterations(
unsigned int);
92 void SetTLSIterations(
unsigned int);
97 void SetTLSPercentage(
unsigned int);
101 vtkSmartPointer<vtkPolyData> m_Source;
102 vtkSmartPointer<vtkPolyData> m_Target;
103 vtkSmartPointer<vtkMatrix4x4> m_TransformMatrix;
104 vtkSmartPointer<vtkCellLocator> m_Locator;
105 unsigned int m_ICPMaxLandmarks;
106 unsigned int m_ICPMaxIterations;
107 unsigned int m_TLSPercentage;
108 unsigned int m_TLSIterations;
110 int GetStepSize(vtkPolyData *source)
const;
112 bool CheckInverted(vtkPolyData *source, vtkPolyData *
target)
const;
114 vtkSmartPointer<vtkMatrix4x4> InternalRunICP(vtkPolyData *source,
116 unsigned int landmarks,
117 unsigned int iterations,
121 double InternalGetRMSResidual(vtkPolyData &source,
122 vtkCellLocator &locator,
Uses vtkIterativeClosestPointTransform to register two vtkPolyData sets.
Definition: niftkVTKIterativeClosestPoint.h:39
GLuint GLenum matrix
Definition: glew.h:12775
Definition: niftkExceptionObject.h:21
GLsizei GLsizei GLchar * source
Definition: glew.h:1816
GLenum target
Definition: glew.h:5584