IGSTK
|
This class computes rigid body transformation parameters between two 3D coordinate systems. More...
#include <igstkLandmark3DRegistration.h>
Public Types | |
typedef itk::Image< PixelType, Dimension > | ImageType |
typedef itk::VersorRigid3DTransform < double > | TransformType |
typedefs for the transform types More... | |
typedef TransformType::Pointer | TransformPointerType |
typedef itk::LandmarkBasedTransformInitializer < TransformType, ImageType, ImageType > | TransformInitializerType |
typedef TransformInitializerType::LandmarkPointContainer | LandmarkPointContainerType |
typedef TransformInitializerType::LandmarkPointType | LandmarkImagePointType |
typedef TransformInitializerType::LandmarkPointType | LandmarkTrackerPointType |
typedef TransformInitializerType::Pointer | TransformInitializerPointerType |
typedef LandmarkPointContainerType::const_iterator | PointsContainerConstIterator |
![]() | |
typedef Object | Self |
General Typedefs. More... | |
typedef ::itk::Object | Superclass |
typedef ::itk::SmartPointer< Self > | Pointer |
typedef ::itk::SmartPointer < const Self > | ConstPointer |
typedef igstk::Logger | LoggerType |
Public Member Functions | |
void | RequestAddImageLandmarkPoint (const LandmarkImagePointType &pt) |
The "RequestAddImageLandmarkPoint" will be used to add point to the image landmark point container. More... | |
void | RequestAddTrackerLandmarkPoint (const LandmarkImagePointType &pt) |
The "RequestAddTrackerLandmarkPoint" will be used to add a point to the tracker landmark point container. More... | |
void | RequestResetRegistration () |
The "RequestResetRegistration" function will be used to start the registration process from the scratch. More... | |
void | RequestComputeTransform () |
The "RequestComputeTransform" method will be used to request transform parameter calculation. More... | |
void | RequestGetTransformFromTrackerToImage () |
The "RequesteGetTransformFromTrackerToImage" method will be used to request to get the transform from the Tracker to the Image. More... | |
void | RequestGetTransformFromImageToTracker () |
The "RequesteGetTransformFromImageToTracker" method will be used to request to get the transform from the Image to the Tracker. More... | |
void | RequestGetRMSError () |
The "RequestGetRMSError" method will be used to get the RMS error value. More... | |
void | RequestSetCollinearityTolerance (const double &tolerance) |
RequestSetCollinearityTolerance method will be used to set collinearity tolerance. More... | |
igstkEventMacro (TransformInitializerEvent, IGSTKEvent) | |
Landmark registration events. More... | |
igstkEventMacro (TransformInitializerErrorEvent, IGSTKErrorEvent) | |
igstkEventMacro (TransformComputationFailureEvent, TransformInitializerErrorEvent) | |
TransformComputationFailureEvent event will be invoked if the transform computation fails. More... | |
igstkEventMacro (TransformComputationSuccessEvent, TransformInitializerEvent) | |
TransformComputationSuccessEvent event will be invoked if the transform computation is succesful. More... | |
![]() | |
virtual const char * | GetNameOfClass () const |
void | SetLogger (LoggerType *logger) |
Connect the Logger for this class. More... | |
void | RemoveObserver (unsigned long tag) const |
Public Attributes | |
igstkStandardClassTraitsMacro(Landmark3DRegistration, Object) public typedef unsigned char | PixelType |
Macro with standard traits declarations. More... | |
Protected Member Functions | |
Landmark3DRegistration (void) | |
~Landmark3DRegistration (void) | |
void | ComputeRMSError () |
The "ComputeRMSError" method calculates and returns RMS error. More... | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const |
Print the object information in a stream. More... | |
![]() | |
LoggerType * | GetLogger () const |
Object (void) | |
Constructor is protected in order to enforce the use of the New() operator. More... | |
virtual | ~Object (void) |
void | RegisterObservedObject (const ::igstk::Object *object, unsigned long tag) |
Register observed objects in an internal array so that they can be disconnected upon destruction. More... | |
void | RemoveFromObservedObjects () |
Remove observers that this object may have connected to other objects. More... | |
Additional Inherited Members | |
![]() | |
static Pointer | New (void) |
This class computes rigid body transformation parameters between two 3D coordinate systems.
The Landmark registration class is used to compute rigid body transformation parameters between two 3D coordinate system. For example, transformation between an image coordinate system and a tracker system. The registration algorithm is based on a closed-form solution to the least-squares problem of computing transformation parameters between two coordinate sytems. A minimum of three pair of landmarks are required. The class is basically a wrapper around the itk::LandmarkBasedTransformInitializer.
Before computing the transformation parameters, the algorithm checks if the landmarks are collinear by analyzing the eigen values of the geometric distribution of the landmark points. For this purpose, a tolerance metric is defined. The tolerance metric is given by the ratio of the square sum of the two smallest eigen values to the square of the largest eigen value. By default, the tolerance value is set to 0.01. However, the user can modify the tolerance using RequestSetCollinearityTolerance() method.
Definition at line 62 of file igstkLandmark3DRegistration.h.
typedef itk::Image< PixelType, Dimension > igstk::Landmark3DRegistration::ImageType |
Definition at line 77 of file igstkLandmark3DRegistration.h.
typedef itk::VersorRigid3DTransform< double > igstk::Landmark3DRegistration::TransformType |
typedefs for the transform types
Definition at line 80 of file igstkLandmark3DRegistration.h.
typedef TransformType::Pointer igstk::Landmark3DRegistration::TransformPointerType |
Definition at line 81 of file igstkLandmark3DRegistration.h.
typedef itk::LandmarkBasedTransformInitializer< TransformType, ImageType, ImageType > igstk::Landmark3DRegistration::TransformInitializerType |
Definition at line 84 of file igstkLandmark3DRegistration.h.
typedef TransformInitializerType::LandmarkPointContainer igstk::Landmark3DRegistration::LandmarkPointContainerType |
Definition at line 87 of file igstkLandmark3DRegistration.h.
typedef TransformInitializerType::LandmarkPointType igstk::Landmark3DRegistration::LandmarkImagePointType |
Definition at line 89 of file igstkLandmark3DRegistration.h.
typedef TransformInitializerType::LandmarkPointType igstk::Landmark3DRegistration::LandmarkTrackerPointType |
Definition at line 91 of file igstkLandmark3DRegistration.h.
typedef TransformInitializerType::Pointer igstk::Landmark3DRegistration::TransformInitializerPointerType |
Definition at line 93 of file igstkLandmark3DRegistration.h.
typedef LandmarkPointContainerType::const_iterator igstk::Landmark3DRegistration::PointsContainerConstIterator |
Definition at line 96 of file igstkLandmark3DRegistration.h.
|
protected |
|
protected |
void igstk::Landmark3DRegistration::RequestAddImageLandmarkPoint | ( | const LandmarkImagePointType & | pt | ) |
The "RequestAddImageLandmarkPoint" will be used to add point to the image landmark point container.
void igstk::Landmark3DRegistration::RequestAddTrackerLandmarkPoint | ( | const LandmarkImagePointType & | pt | ) |
The "RequestAddTrackerLandmarkPoint" will be used to add a point to the tracker landmark point container.
void igstk::Landmark3DRegistration::RequestResetRegistration | ( | ) |
The "RequestResetRegistration" function will be used to start the registration process from the scratch.
This method empties both the image and tracker point containers and reset the system to idle state
void igstk::Landmark3DRegistration::RequestComputeTransform | ( | ) |
The "RequestComputeTransform" method will be used to request transform parameter calculation.
void igstk::Landmark3DRegistration::RequestGetTransformFromTrackerToImage | ( | ) |
The "RequesteGetTransformFromTrackerToImage" method will be used to request to get the transform from the Tracker to the Image.
void igstk::Landmark3DRegistration::RequestGetTransformFromImageToTracker | ( | ) |
The "RequesteGetTransformFromImageToTracker" method will be used to request to get the transform from the Image to the Tracker.
void igstk::Landmark3DRegistration::RequestGetRMSError | ( | ) |
The "RequestGetRMSError" method will be used to get the RMS error value.
void igstk::Landmark3DRegistration::RequestSetCollinearityTolerance | ( | const double & | tolerance | ) |
RequestSetCollinearityTolerance method will be used to set collinearity tolerance.
igstk::Landmark3DRegistration::igstkEventMacro | ( | TransformInitializerEvent | , |
IGSTKEvent | |||
) |
Landmark registration events.
igstk::Landmark3DRegistration::igstkEventMacro | ( | TransformInitializerErrorEvent | , |
IGSTKErrorEvent | |||
) |
igstk::Landmark3DRegistration::igstkEventMacro | ( | TransformComputationFailureEvent | , |
TransformInitializerErrorEvent | |||
) |
TransformComputationFailureEvent event will be invoked if the transform computation fails.
igstk::Landmark3DRegistration::igstkEventMacro | ( | TransformComputationSuccessEvent | , |
TransformInitializerEvent | |||
) |
TransformComputationSuccessEvent event will be invoked if the transform computation is succesful.
|
protected |
The "ComputeRMSError" method calculates and returns RMS error.
|
protectedvirtual |
Print the object information in a stream.
Reimplemented from igstk::Object.
igstkStandardClassTraitsMacro ( Landmark3DRegistration, Object ) public typedef unsigned char igstk::Landmark3DRegistration::PixelType |
Macro with standard traits declarations.
Typedefs typedefs for image and pixel type
Definition at line 68 of file igstkLandmark3DRegistration.h.