zxhproj v 2.2
zxhproj

zxhMetricMILocalAffines.h

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 
 All Classes Namespaces Functions Variables Typedefs