zxhproj v 2.2
zxhproj
|
00001 00002 /*========================================================================= 00003 00004 Program: ZXH Registration Software 00005 Author: Xiahai Zhuang 00006 Module: $RCSfle: zxhGradientFFDBase.h $ 00007 Language: C++ 00008 Date: $Date: From 2004-01 $ 00009 Version: $Revision: 1.0, 2.0 $ 00010 00011 =========================================================================*/ 00012 00013 #ifndef ZXHGRADIENTFFDBASE_H 00014 #define ZXHGRADIENTFFDBASE_H 00015 00016 #include "zxhGradientBase.h" 00017 #include "zxhTransformFFDBase.h" 00018 #include "zxhMetricFFDBase.h" 00019 00026 00027 class zxhGradientFFDBase : public zxhGradientBase 00028 { 00029 public: 00031 zxhGradientFFDBase(void) ; 00033 virtual ~zxhGradientFFDBase(void) ; 00034 00036 zxhGradientBase* Clone( zxhGradientBase * & p ) ; 00038 virtual void SetPortionOfPDinfluence( float f ) { m_fPortionOfUsePDinfluence = f ; } ; 00040 virtual float GetPortionOfPDinfluence( void ) { return m_fPortionOfUsePDinfluence ; } ; 00041 00043 virtual bool PrePostComputeMetricGradient( 00044 zxhMetricBase*pMetric, 00045 zxhTransformBase*pInfluence, 00046 bool isPre ) ; 00048 virtual void SetFFDMaskImage( zxhImageData * pTest, zxhImageData * pRef ) 00049 { 00050 m_pFFDMaskTest = pTest; m_pFFDMaskRef = pRef ; 00051 } 00053 virtual void GetFFDMaskImage( zxhImageData * & pTest, zxhImageData * & pRef ) 00054 { 00055 pTest = m_pFFDMaskTest; pRef = m_pFFDMaskRef ; 00056 } 00058 virtual void SetDirectionFFDsNVModelRef(zxhImageModelingBaseT<float,float>*pRef ) 00059 { m_pModelNormalVectorRef = pRef ; } 00061 virtual zxhImageModelingBaseT<float,float>* GetDirectionFFDsNVModelRef() 00062 { return m_pModelNormalVectorRef; } 00064 virtual void SetRegriddingdTransform( zxhTransformBase*p ) 00065 { m_pConcatenatedTransformsByRegridding = p ; } 00067 virtual zxhTransformBase* GetRegriddingdTransform() 00068 { return m_pConcatenatedTransformsByRegridding; } 00069 00070 protected: 00072 zxhImageData * m_pFFDMaskTest ; 00074 zxhImageData * m_pFFDMaskRef ; 00076 zxhImageModelingBaseT<float,float>* m_pModelNormalVectorRef ; 00078 zxhTransformBase* m_pConcatenatedTransformsByRegridding ; 00080 float m_fPortionOfUsePDinfluence ; 00081 }; 00082 00083 #endif 00084