zxhproj v 2.2
zxhproj
|
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