15 #ifndef niftkICPBasedRegistration_h
16 #define niftkICPBasedRegistration_h
18 #include <niftkICPRegExports.h>
19 #include <vtkMatrix4x4.h>
20 #include <mitkDataNode.h>
21 #include <mitkPointSet.h>
22 #include <itkObject.h>
23 #include <itkObjectFactoryBase.h>
24 #include <vtkPolyData.h>
25 #include <vtkSmartPointer.h>
29 namespace ICPBasedRegistrationConstants
48 itkSetMacro(MaximumIterations,
int);
49 itkSetMacro(MaximumNumberOfLandmarkPointsToUse,
int);
50 itkSetMacro(CameraNode, mitk::DataNode::Pointer);
51 itkSetMacro(FlipNormals,
bool);
52 itkSetMacro(TLSIterations,
unsigned int);
53 itkSetMacro(TLSPercentage,
unsigned int);
61 double Update(
const mitk::DataNode::Pointer fixedNode,
62 const mitk::DataNode::Pointer movingNode,
63 vtkMatrix4x4& transformMovingToFixed);
68 static void NodeToPolyData (
const mitk::DataNode::Pointer& node,
70 const mitk::DataNode::Pointer& cameranode = mitk::DataNode::Pointer(),
71 bool flipnormals =
false);
76 static void PointSetToPolyData (
const mitk::PointSet::Pointer& pointsIn, vtkPolyData& polyOut);
88 int m_MaximumIterations;
89 int m_MaximumNumberOfLandmarkPointsToUse;
90 unsigned int m_TLSIterations;
91 unsigned int m_TLSPercentage;
92 mitk::DataNode::Pointer m_CameraNode;
95 double RunVTKICP(vtkPolyData* fixedPoly,
96 vtkPolyData* movingPoly,
97 vtkMatrix4x4& transformMovingToFixed);
static const int DEFAULT_MAX_POINTS
Definition: niftkICPBasedRegistration.h:32
static const int DEFAULT_MAX_ITERATIONS
Definition: niftkICPBasedRegistration.h:31
static const int DEFAULT_TLS_PERCENTAGE
Definition: niftkICPBasedRegistration.h:34
Class to perform a surface based registration of two MITK Surfaces/PointSets, using VTKs ICP...
Definition: niftkICPBasedRegistration.h:41
static const int DEFAULT_TLS_ITERATIONS
Definition: niftkICPBasedRegistration.h:33
Definition: niftkExceptionObject.h:21