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
double ErrorType
Error parameter Typedefs.
void RequestSetLandmarkRegistrationError(const ErrorType &)
Method to set the landmark registration error.
Base class for all the IGSTK classes.
#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...
igstkStandardClassTraitsMacro(Landmark3DRegistrationErrorEstimator, Object) public typedef itk::Point< double, 3 > LandmarkPointType
Macro with standard traits declarations.
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.
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.