18 #ifndef __igstkLandmark3DRegistrationErrorEstimator_h
19 #define __igstkLandmark3DRegistrationErrorEstimator_h
26 #include "itkVersor.h"
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&);
165 ErrorType m_LandmarkRegistrationErrorToBeSet;
167 ErrorType m_TargetPointRegistrationError;
170 itk::Matrix<double,3,3> m_LandmarkPrincipalAxes;
174 VectorType m_RMSDistanceFromLandmarkToPrincipalAxes;
182 #endif // __igstkLandmark3DRegistrationErrorEstimator_h
double ErrorType
Error parameter Typedefs.
void RequestSetLandmarkRegistrationError(const ErrorType &)
Method to set the landmark registration error.
Base class for all the IGSTK classes.
~Landmark3DRegistrationErrorEstimator(void)
#define igstkStandardClassTraitsMacro(classname, superclassname)
Convenience macro for traits of a non-templated class.
defines standard system-wide macros, constants, and other common parameters in the IGSTK Library...
std::vector< LandmarkPointType > LandmarkContainerType
void RequestSetLandmarkContainer(const LandmarkContainerType &)
Method to set the landmark container.
This class estimates error in point-based rigid-body landmark registration .
void RequestSetTargetPoint(const TargetPointType &)
Method to set the target point.
itk::Point< double, 3 > TargetPointType
Macro with standard traits declarations.
itk::Point< double, 3 > LandmarkPointType
void RequestGetTargetPointRegistrationErrorEstimate()
Request target point registration error event.
void PrintSelf(std::ostream &os, itk::Indent indent) const
Print the object information in a stream.
void RequestEstimateTargetPointRegistrationError()
Method to request target registration estimation.
Landmark3DRegistrationErrorEstimator(void)