18 #ifndef __igstkLandmark3DRegistrationErrorEstimator_h
19 #define __igstkLandmark3DRegistrationErrorEstimator_h
26 #include "itkVersor.h"
60 typedef itk::Point<
double, 3> TargetPointType;
88 void PrintSelf( std::ostream& os, itk::Indent indent ) const;
92 typedef itk::Vector<
double, 3> VectorType;
93 typedef LandmarkContainerType::const_iterator PointsContainerConstIterator;
94 typedef
double DistanceType;
95 typedef itk::Versor<
double> VersorType;
99 void ComputeLandmarksCentroid();
102 void ComputeLandmarkPrincipalAxes();
105 void ComputeRMSDistanceLandmarksFromPrincipalAxes();
108 void SetLandmarkContainerProcessing();
111 void SetTargetPointProcessing();
114 void SetLandmarkRegistrationErrorProcessing( );
116 void ComputeErrorParameters( );
119 void EstimateTargetPointRegistrationErrorProcessing( );
122 void ReportInvalidRequestProcessing();
125 void ReportSuccessInTargetPointRegistrationErrorEstimationProcessing();
128 void ReportFailureInTargePointRegistrationErrorEstimationProcessing();
132 void GetTargetPointRegistrationErrorEstimateProcessing();
135 igstkDeclareStateMacro( Idle );
136 igstkDeclareStateMacro( LandmarkContainerSet );
137 igstkDeclareStateMacro( LandmarkRegistrationErrorSet );
138 igstkDeclareStateMacro( TargetPointSet );
139 igstkDeclareStateMacro( AttemptingToEstimateTargetRegstirationError );
140 igstkDeclareStateMacro( TargetRegistrationErrorEstimated );
144 igstkDeclareInputMacro( LandmarkContainer );
145 igstkDeclareInputMacro( LandmarkRegistrationError );
146 igstkDeclareInputMacro( TargetPoint );
147 igstkDeclareInputMacro( EstimateTargetPointRegistrationError );
148 igstkDeclareInputMacro( TargetPointRegistrationErrorEstimationSuccess );
149 igstkDeclareInputMacro( TargetPointRegistrationErrorEstimationFailure );
150 igstkDeclareInputMacro( GetTargetPointRegistrationErrorEstimate );
156 void operator=(const Self&);
158 LandmarkContainerType m_LandmarkContainer;
159 LandmarkContainerType m_LandmarkContainerToBeSet;
161 TargetPointType m_TargetPoint;
162 TargetPointType m_TargetPointToBeSet;
164 ErrorType m_LandmarkRegistrationError;
165 ErrorType m_LandmarkRegistrationErrorToBeSet;
167 ErrorType m_TargetPointRegistrationError;
170 itk::Matrix<
double,3,3> m_LandmarkPrincipalAxes;
174 VectorType m_RMSDistanceFromLandmarkToPrincipalAxes;
177 LandmarkPointType m_LandmarkCentroid;
182 #endif // __igstkLandmark3DRegistrationErrorEstimator_h