zxhproj v 2.2
zxhproj
|
00001 00002 /*========================================================================= 00003 00004 Program: ZXH Registration Software 00005 Author: Xiahai Zhuang 00006 Module: $RCSfle: zxhMetricMILocalAffines.h $ 00007 Language: C++ 00008 Date: $Date: From 2008-01 $ 00009 Version: $Revision: 2.0 $ 00010 revision: 00011 =========================================================================*/ 00012 #ifndef zxhMetricMILocalAffines_h 00013 #define zxhMetricMILocalAffines_h 00014 00015 #include "zxh.h" 00016 #include "zxhMetricMIConstraint.h" 00017 #include "zxhMetricLocalAffinesBase.h" 00018 #include "zxhTransformLocalAffines.h" 00026 class zxhTransformLocalAffines ; 00027 class zxhMetricMILocalAffines : public zxhMetricMIConstraint, 00028 public zxhMetricLocalAffinesBase 00029 { 00030 public: 00032 zxhMetricMILocalAffines(void); 00034 ~zxhMetricMILocalAffines(void); 00035 00037 virtual std::string GetMetricType() {return zxhMetricMIConstraint::GetMetricType()+"_"+zxhMetricLocalAffinesBase::GetMetricType(); } ; 00038 00040 virtual zxhMetricBase* Clone(zxhMetricBase*&pRet); 00041 00046 virtual bool ComputeLocAffGradientCrumIPMI(zxhTransformLocalAffines*pGradient); 00047 00048 /* delete weighted volume changes from test mask image --- reimplemented 00049 virtual float GetWeightedVolumeChangesFromTest( float &fNumVolumeCounted, 00050 zxhTransformBase * pTrans,zxhTransformBase * pRegriddingTrans, 00051 zxhImageData * pMaskTest, 00052 float xfPhysFrom,float xfPhysTo,float yfPhysFrom,float yfPhysTo, 00053 float zfPhysFrom,float zfPhysTo,float tfPhysFrom,float tfPhysTo ) ; */ 00054 00056 //virtual int AddLocalAffineDiffFromWeightTestVolume( zxhTransformLocalAffines * pGrad, zxhTransformLocalAffines * pDifferential ); 00058 00062 //virtual float AddLocalAffineDiffBySkeletonPoints( zxhTransformLocalAffines * pGrad, zxhTransformLocalAffines * pDifferential ); 00063 00065 00067 virtual int ComputeConstanceForLocalAffineGradient() { return ComputeConstanceForGradient();} ; 00068 00070 virtual int ComputeLocalAffinesDiff( zxhTransformBase *, zxhTransformBase *); 00071 00072 protected: 00073 virtual int ComputeLocalAffinesDiffMMI(zxhTransformBase * pGradient, zxhTransformBase * pDifferential ); 00074 }; 00075 00076 #endif 00077 00078 00079 00080