00001 /*========================================================================= 00002 00003 Library : Image Registration Toolkit (IRTK) 00004 Module : $Id: irtkImageRigidRegistration.h 2 2008-12-23 12:40:14Z dr $ 00005 Copyright : Imperial College, Department of Computing 00006 Visual Information Processing (VIP), 2008 onwards 00007 Date : $Date: 2008-12-23 12:40:14 +0000 (Tue, 23 Dec 2008) $ 00008 Version : $Revision: 2 $ 00009 Changes : $Author: dr $ 00010 00011 =========================================================================*/ 00012 00013 #ifndef _IRTKIMAGERIGIDREGISTRATION_H 00014 00015 #define _IRTKIMAGERIGIDREGISTRATION_H 00016 00026 class irtkImageRigidRegistration : public irtkImageRegistration 00027 { 00028 00029 protected: 00030 00032 virtual double Evaluate(); 00033 00035 virtual void Initialize(); 00036 00038 virtual void Finalize(); 00039 00040 public: 00041 00048 virtual void SetOutput(irtkTransformation *); 00049 00051 virtual const char *NameOfClass(); 00052 00054 virtual void Print(); 00055 00057 virtual void GuessParameter(); 00058 }; 00059 00060 inline void irtkImageRigidRegistration::SetOutput(irtkTransformation *transformation) 00061 { 00062 if (strcmp(transformation->NameOfClass(), "irtkRigidTransformation") != 0) { 00063 cerr << "irtkImageRigidRegistration::SetOutput: Transformation must be rigid" 00064 << endl; 00065 exit(0); 00066 } 00067 _transformation = transformation; 00068 } 00069 00070 inline const char *irtkImageRigidRegistration::NameOfClass() 00071 { 00072 return "irtkImageRigidRegistration"; 00073 } 00074 00075 inline void irtkImageRigidRegistration::Print() 00076 { 00077 _transformation->Print(); 00078 } 00079 00080 #endif