/vol/vipdata/irtk/packages/registration/include/irtkPointFreeFormRegistration.h

00001 /*=========================================================================
00002 
00003   Library   : Image Registration Toolkit (IRTK)
00004   Module    : $Id: irtkPointFreeFormRegistration.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 _IRTKPOINTFREEFORMREGISTRATION_H
00014 
00015 #define _IRTKPOINTFREEFORMREGISTRATION_H
00016 
00017 #include <irtkImage.h>
00018 #include <irtkPointRegistration.h>
00019 #include <irtkTransformation.h>
00020 
00021 class irtkPointFreeFormRegistration : public irtkPointRegistration
00022 {
00023 
00024 protected:
00025 
00027   irtkBSplineFreeFormTransformation *_affd;
00028 
00030   irtkMultiLevelFreeFormTransformation *_mffd;
00031 
00033   virtual void Initialize();
00034 
00036   virtual void Finalize();
00037 
00039   virtual void Optimize();
00040 
00041 public:
00042 
00044   irtkPointFreeFormRegistration();
00045 
00047   virtual ~irtkPointFreeFormRegistration();
00048 
00050   virtual void SetOutput(irtkTransformation *);
00051 
00053   virtual void Run();
00054 
00056   virtual const char *NameOfClass();
00057 
00058 };
00059 
00060 #endif