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

00001 /*=========================================================================
00002 
00003   Library   : Image Registration Toolkit (IRTK)
00004   Module    : $Id: irtkRegistration.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 _IRTKREGISTRATION_H
00014 
00015 #define _IRTKREGISTRATION_H
00016 
00017 #define MAX_NO_RESOLUTIONS 10
00018 
00019 // Definition of available states for individual DOFs
00020 typedef enum { Active, Passive } DOFStatus;
00021 
00022 // Definition of available optimization m
00023 typedef enum { DownhillDescent,
00024                GradientDescent,
00025                GradientDescentConstrained,
00026                SteepestGradientDescent,
00027                ConjugateGradientDescent,
00028                ClosedForm
00029              } irtkOptimizationMethod;
00030 
00031 // Definition of available similarity measures
00032 typedef enum { JE, CC, MI, NMI, SSD, CR_XY, CR_YX, LC, K, ML }
00033 irtkSimilarityMeasure;
00034 
00035 #include <irtkImage.h>
00036 
00037 #include <irtkHistogram.h>
00038 
00039 #include <irtkResampling.h>
00040 
00041 #include <irtkImageFunction.h>
00042 
00043 #include <irtkTransformation.h>
00044 
00045 #include <irtkUtil.h>
00046 
00047 #include <irtkSimilarityMetric.h>
00048 
00049 #include <irtkOptimizer.h>
00050 
00051 class irtkRegistration : public irtkObject
00052 {
00053 
00054 public:
00055 
00057   virtual double Evaluate() = 0;
00058 
00060   virtual double EvaluateGradient(float, float *) = 0;
00061 
00062 };
00063 
00064 #include <irtkPointRegistration.h>
00065 #include <irtkSurfaceRegistration.h>
00066 #include <irtkImageRegistration.h>
00067 #include <irtkSymmetricImageRegistration.h>
00068 
00069 #endif