zxhproj v 2.2
zxhproj

zxhMetricLocalAffinesBase.h

00001 /*=========================================================================
00002 
00003   Program:   ZXH Registration Software
00004   Author:    Xiahai Zhuang
00005   Module:    $RCSfle: zxhMetricLocalAffinesBase.h    $
00006   Language:  C++
00007   Date:      $Date: From  2008-10 $
00008   Version:   $Revision: 2.0 $
00009   revision:
00010 =========================================================================*/
00011 #ifndef zxhMetricLocalAffinesBase_h
00012 #define zxhMetricLocalAffinesBase_h
00013 
00014 #include "zxh.h"
00015 #include "zxhTransformBase.h"
00016 
00023  
00024 class zxhMetricLocalAffinesBase
00025 {
00026 public:
00028     zxhMetricLocalAffinesBase(void);
00030     ~zxhMetricLocalAffinesBase(void);
00031 
00033     zxhMetricLocalAffinesBase* Clone(zxhMetricLocalAffinesBase*&pRet);
00034 
00036     virtual std::string GetMetricType() {return "_LAFFS_"; } ;
00037 
00039     virtual void SetDilatedRegionsForLocalGD( zxhImageData*p, int n )
00040     {
00041         m_nNoLocalAffines = n ;
00042         m_aDilatedRegionsForLocalGD = p ;
00043     };
00045     virtual zxhImageData*   GetDilatedRegionsForLocalGD()           { return m_aDilatedRegionsForLocalGD;};
00047     virtual float*  GetDilateLengthForLocalGD()                     { return m_pfDilateLengthForLocalGD;};
00049     virtual void SetDilateLengthForLocalGD(float *f)                { m_pfDilateLengthForLocalGD=f;};
00050   
00052 
00054     virtual int ComputeConstanceForLocalAffineGradient() = 0 ;
00055     
00057     virtual int ComputeLocalAffinesDiff( zxhTransformBase*, zxhTransformBase* )= 0 ;
00058   
00059 protected:
00062     zxhImageData*   m_aDilatedRegionsForLocalGD ;
00064     float*          m_pfDilateLengthForLocalGD ;
00066     int             m_nNoLocalAffines ;
00067 
00068 };
00069 
00070 #endif
00071 
00072 
00073 
00074 
 All Classes Namespaces Functions Variables Typedefs