zxhproj v 2.2
zxhproj

zxhTransformFFD.h

00001 
00002 /*=========================================================================
00003 
00004   Program:   ZXH Registration Software
00005   Author:    Xiahai Zhuang
00006   Module:    $RCSfle: zxhTransformFFD.h    $
00007   Language:  C++
00008   Date:      $Date: From  2004-01 $
00009   Version:   $Revision: 1.0, 2.0 $
00010 
00011 =========================================================================*/
00012 
00013 #ifndef zxhTransformFFD_h
00014 #define zxhTransformFFD_h
00015 
00016 #include "zxhTransformBase.h"
00017 #include "zxhTransformFFDBase.h"
00018 #include "zxhGradientFFDBase.h"
00019 #include "zxhImageData.h"
00020 #include "zxhMetricMIFFD.h"
00021 #include "zxhMetricNV.h"
00022 #include "zxhMetricCCFFD2.h"
00023 #include "zxhMetricRMS.h"
00024 #include "zxhMetricPhaseFFD.h"
00025 
00032 class zxhMetricMIFFD;
00033 class zxhMetricNV;
00034 class zxhMetricCCFFD2;
00035 class zxhMetricRMS;
00036 class zxhMetricPhaseFFD;
00037 class zxhTransformFFD : public zxhTransformFFDBase, public zxhGradientFFDBase
00038 {
00039 public:
00041     zxhTransformFFD(void);
00043     virtual ~zxhTransformFFD(void);
00044 
00046     virtual std::string GetTransformType(){return "FFD";};
00047 
00049     virtual std::string GetPrintString() ;
00050 
00052     virtual zxhTransformBase*   Clone(zxhTransformBase*&pRet);
00053 
00054 public:
00057     virtual bool    ComputeMetricGradient ( zxhMetricBase * pMetric,    zxhTransformBase * pInfluence =0 );
00058 
00065     virtual bool    ComputeMetricGradientOnDirection (  zxhMetricBase * pMetric,        
00066                                                         zxhTransformBase * pInfluence,
00067                                                         zxhImageModelingBaseT<float,float> * pDirectionFFDsNVModelRef );
00068 
00069 
00072     virtual bool    PrePostComputeMetricGradient(   zxhMetricBase * pMetric,
00073                                                     zxhTransformBase * pInfluence,
00074                                                     bool isPre ) ;
00075     
00076 };
00077 
00078 #endif // zxhTransformFFD_h
00079 
00080 
 All Classes Namespaces Functions Variables Typedefs