FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
IterativeClosestPoint.hpp
Go to the documentation of this file.
1 #ifndef ITERATIVE_CLOSEST_POINT_HPP
2 #define ITERATIVE_CLOSEST_POINT_HPP
3 
5 #include "FAST/ProcessObject.hpp"
6 #include "FAST/Data/Mesh.hpp"
7 
8 namespace fast {
9 
10 class FAST_EXPORT IterativeClosestPoint : public ProcessObject {
12  public:
13  typedef enum { RIGID, TRANSLATION } TransformationType;
14  void setFixedMeshPort(DataChannel::pointer port);
15  void setFixedMesh(Mesh::pointer data);
16  void setMovingMeshPort(DataChannel::pointer port);
17  void setMovingMesh(Mesh::pointer data);
18  void setTransformationType(const IterativeClosestPoint::TransformationType type);
19  AffineTransformation::pointer getOutputTransformation();
20  float getError() const;
21  void setMinimumErrorChange(float errorChange);
22  void setMaximumNrOfIterations(uint iterations);
23  void setRandomPointSampling(uint nrOfPointsToSample);
24  void setDistanceThreshold(float distance);
25  private:
27  void execute();
28 
29  float mMinErrorChange;
30  uint mMaxIterations;
31  int mRandomSamplingPoints;
32  float mDistanceThreshold;
33  float mError;
34  AffineTransformation::pointer mTransformation;
36 };
37 
38 } // end namespace fast
39 
40 #endif
AffineTransformation.hpp
fast::IterativeClosestPoint
Definition: IterativeClosestPoint.hpp:10
fast
Definition: AffineTransformation.hpp:7
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
fast::IterativeClosestPoint::TransformationType
TransformationType
Definition: IterativeClosestPoint.hpp:13
fast::DataChannel::pointer
std::shared_ptr< DataChannel > pointer
Definition: DataChannel.hpp:12
ProcessObject.hpp
fast::DataObject::pointer
std::shared_ptr< DataObject > pointer
Definition: DataObject.hpp:16
uint
unsigned int uint
Definition: DataTypes.hpp:16
Mesh.hpp
fast::ProcessObject
Definition: ProcessObject.hpp:22