MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitkStandardICPPointRegister.h
Go to the documentation of this file.
1/*=========================================================================
2
3Program: Medical Imaging & Interaction Toolkit
4Module: $RCSfile$
5Language: C++
6Date: $Date: 2010-10-15 13:56:51 +0200 (Fr, 15 Okt 2010) $
7Version: $Revision: 18261 $
8
9Copyright (c) German Cancer Research Center, Division of Medical and
10Biological Informatics. All rights reserved.
11See MITKCopyright.txt or http://www.mitk.org/copyright.html for details.
12
13This software is distributed WITHOUT ANY WARRANTY; without even
14the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15PURPOSE. See the above copyright notices for more information.
16
17=========================================================================*/
18
19#ifndef MITKStandardICPPointRegisterPOINTREGISTER_H_HEADER_INCLUDED_
20#define MITKStandardICPPointRegisterPOINTREGISTER_H_HEADER_INCLUDED_
21
22//mitk headers
23#include "mitkPointSet.h"
24
25//itk headers
26#include <itkMatrix.h>
27
28//vtk headers
29#include <vtkPolyData.h>
30#include <vtkSmartPointer.h>
31
32namespace mitk {
37 {
38
39 public:
40
54 static bool StandardICPPointRegisterAlgorithm( mitk::PointSet::Pointer MovingSet,
55 mitk::PointSet::Pointer StaticSet,
56 double Threshold,
57 itk::Matrix<double,3,3>& TransformationR,
58 itk::Vector<double,3>& TransformationT,
59 double& FRE,
60 int& n,
61 std::string& ErrorMessage,
62 int max_iterations = 100
63 );
64
79 vtkSmartPointer<vtkPolyData> StaticSurface,
80 double Threshold,
81 itk::Matrix<double,3,3>& TransformationR,
82 itk::Vector<double,3>& TransformationT,
83 double& FRE,
84 int& n,
85 std::string& ErrorMessage,
86 int max_iterations = 100
87 );
88
89 protected:
90
91 //################### private help methods #####################
92
93 static vtkSmartPointer<vtkPolyData> convertPointSetToVtkPolyData(mitk::PointSet::Pointer PointSet);
94
95 };
96
97} // namespace mitk
98#endif
This class offers static methods for computation of standard ICP registration.
static vtkSmartPointer< vtkPolyData > convertPointSetToVtkPolyData(mitk::PointSet::Pointer PointSet)
static bool StandardICPPointRegisterAlgorithm(mitk::PointSet::Pointer MovingSet, mitk::PointSet::Pointer StaticSet, double Threshold, itk::Matrix< double, 3, 3 > &TransformationR, itk::Vector< double, 3 > &TransformationT, double &FRE, int &n, std::string &ErrorMessage, int max_iterations=100)
This method executes the standard iterative closest point algorithm to register a moving pointset X o...
IGT Exceptions.