00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitkPointSetEstimator_h
00012 #define __mitkPointSetEstimator_h
00013
00014 #include "mitkProcessObject.h"
00015 #include "mitkTransform.h"
00016 #include "mitkPointSet.h"
00017 #include "mitkRCPtr.h"
00018
00023
00024 class MITK_REGISTRATION_API mitkPointSetEstimator : public mitkProcessObject
00025 {
00026 public:
00027 MITK_TYPE(mitkPointSetEstimator, mitkProcessObject)
00028 virtual void PrintSelf(ostream &os);
00029
00033 mitkPointSetEstimator();
00034
00038 virtual ~mitkPointSetEstimator();
00039
00044 virtual void SetFixedPointSet(mitkPointSet *fixedPointSet) {m_FixedPointSet = fixedPointSet;}
00045
00050 virtual void SetMovingPointSet(mitkPointSet *movingPointSet) {m_MovingPointSet = movingPointSet;}
00051
00052 virtual void SetFixedPointSet(VectorParameterType& p);
00053
00054 virtual void SetMovingPointSet(VectorParameterType& p);
00055
00056 mitkPointSet* GetFixedPointSet() { return m_FixedPointSet; }
00057
00058 mitkPointSet* GetMovingPointSet() { return m_MovingPointSet; }
00059
00064 unsigned int GetNumberOfPoints() {return m_NumberOfPoints;}
00065
00070 void SetPointSetMaskFlag(bool flag);
00071
00076 void SetTransform(mitkTransform* transform) {m_Transform = transform;}
00077
00082 mitkTransform* GetTransform();
00083
00088 mitkMatrixType* GetTransformMatrix();
00089
00094 const VectorParameterType& GetTransformParameters() const;
00095
00096 void SetSpaceDimension(unsigned int d) { m_SpaceDimension = d; }
00097
00098 unsigned int GetSpaceDimension() { return m_SpaceDimension; }
00099
00100 virtual bool IsTransformSupported(mitkTransform* transform = NULL);
00101
00102 void SwapInputs();
00103
00104 protected:
00105 virtual bool Execute();
00106
00107 mitkRCPtr<mitkTransform> m_Transform;
00108 mitkMatrixType* m_TransformMatrix;
00109 VectorParameterType m_TransformParameters;
00110
00111 mitkPointSet* m_FixedPointSet;
00112 mitkPointSet* m_MovingPointSet;
00113 unsigned int m_NumberOfPoints;
00114 unsigned int m_SpaceDimension;
00115
00116 private:
00117 mitkPointSetEstimator(const mitkPointSetEstimator&);
00118 void operator = (const mitkPointSetEstimator&);
00119
00120 };
00121
00122
00123
00124
00125
00126
00127 #endif
00128