zxhproj v 2.2
zxhproj
|
00001 /*========================================================================= 00002 00003 Program: ZXH Registration Software 00004 Author: Xiahai Zhuang 00005 Module: $RCSfle: zxhOptimizerBase.h $ 00006 Language: C++ 00007 Date: $Date: From 2008-01 $ 00008 Version: $Revision: 2.2 $ 00009 00010 =========================================================================*/ 00011 00012 #ifndef zxhOptimizerGradientLocalMatrix_h 00013 #define zxhOptimizerGradientLocalMatrix_h 00014 00015 #include "zxhOptimizerGradientLocalAffines.h" 00016 #include "zxhTransformLocalAffines.h" 00017 #include "zxhMetricMILocalAffines.h" 00018 #include "zxhGradientBase.h" 00019 00024 class zxhOptimizerGradientLocalMatrix : 00025 public zxhOptimizerGradientLocalAffines 00026 { 00027 public: 00029 zxhOptimizerGradientLocalMatrix(void); 00031 ~zxhOptimizerGradientLocalMatrix(void); 00032 00034 virtual zxhOptimizerBase* Clone(zxhOptimizerBase* &pRet); 00036 /* 1 LocalAffineComposeMatrix 00037 * 2 Compose T(x)=Tcurr (Tforwardcomposed( x )) and set identity 00038 * 3 Forward transform all local regions and recompute distance for localaffine 00039 * 4 Set forwardcomposedtransform to metric 00040 */ 00041 virtual bool ConcatenateTransformsNUpdate(); 00043 virtual bool ConcatenateFinalTransforms(); 00044 00045 protected: 00047 virtual void LocalAffineComposeMatrix() ; 00048 }; 00049 #endif 00050 00051