zxhproj v 2.2
zxhproj

zxhGradientFFDBase.h

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