zxhproj v 2.2
zxhproj

zxhOptimizerGradientLocalAffines.h

00001 
00002 /*=========================================================================
00003 
00004   Program:   ZXH Registration Software
00005   Author:    Xiahai Zhuang
00006   Module:    $RCSfle: zxhOptimizerBase.h    $
00007   Language:  C++
00008   Date:      $Date: From  2008-01 $
00009   Version:   $Revision: 2.2 $
00010 
00011 =========================================================================*/
00012 
00013 #ifndef zxhOptimizerGradientLocalAffines_h
00014 #define zxhOptimizerGradientLocalAffines_h
00015 
00016 #include "zxhOptimizerGradient.h"
00017 #include "zxhTransformLocalAffines.h"
00018 #include "zxhMetricMILocalAffines.h"
00019 #include "zxhGradientBase.h"
00020 
00028 class zxhOptimizerGradientLocalAffines :
00029     public zxhOptimizerGradient
00030 {
00031 public:
00033     zxhOptimizerGradientLocalAffines(void);
00035     ~zxhOptimizerGradientLocalAffines(void);
00036 
00038     virtual std::string GetPrintString();
00040     virtual bool        SetOptimizerFromStream(std::ifstream & ifs);
00041 
00043     virtual zxhOptimizerBase*   Clone(zxhOptimizerBase* &pRet);
00045     virtual void    SetOptimisationSteps( int nGlobal, int nLocal )
00046     {   m_nGlobalAffine = nGlobal; m_nLocalAffines = nLocal ;   }
00047 
00049     virtual void Run();
00051     virtual void Run2();
00052 
00054     virtual bool AdjustParameters( bool forceconcatenation = false ) ;
00058     void    AdjustGradientAdvanceStep(
00059                 zxhTransformBase * pTransformAdvanceStep,
00060                 zxhTransformBase * pGradient ) ;
00062     virtual void    SetPreGlobalRegistration(int i)                     {m_nPreGlobalRegistration=i;};
00064     virtual void    SetAccessoryLocalRegions( bool b )                  {m_bAccessoryLocalRegions=b;};
00066     virtual bool    GetAccessoryLocalRegions()                          {return m_bAccessoryLocalRegions;};
00067     
00068 protected: 
00070     int     m_nGlobalAffine ;
00072     int     m_nLocalAffines ;
00074     int     m_nPreGlobalRegistration ;
00076     bool    m_bAccessoryLocalRegions ;
00077 
00078     //float m_fLocalAffineSearchLength ;    float   m_fLocalAffineDifferentialLength ;
00079 };
00080 #endif
00081 
00082 
 All Classes Namespaces Functions Variables Typedefs