zxhproj v 2.2
zxhproj

zxhGradientMultiRigid.h

00001 /*=========================================================================
00002 
00003   Program:   ZXH Registration Software
00004   Author:    Xiahai Zhuang
00005   Module:    $RCSfle: zxhGradientMultiRigid    $
00006   Language:  C++
00007   Date:      $Date: From  2010-08 $
00008   Version:   $Revision: 2.0 $
00009 
00010   Update log:
00011 =========================================================================*/
00012 
00013 #ifndef zxhGradientMultiRigid_h
00014 #define zxhGradientMultiRigid_h
00015 #include "zxhTransformMultiRigid.h"
00016 
00023 
00024 
00025 class zxhGradientMultiRigid : public zxhTransformMultiRigid, public zxhGradientBase
00026 {
00027 protected:
00030     float       m_afTranslationDirectionVectorForEcho[ZXH_MAXMULTIRIGID-ZXH_NUMBERMRTRANSFORM][ImageDimensionMax] ;
00032     float       m_fWeightingPercentageEchoRotation ;
00033 
00034 public:
00036     zxhGradientMultiRigid(void);
00038     ~zxhGradientMultiRigid(void) ;
00039 
00041     virtual zxhTransformBase*   Clone(zxhTransformBase*&pRet);
00043     virtual bool SetTranslationDirectionVectorForEcho( int index, float v[4] )
00044     {
00045     if( index>GetNoOfEchoRigidTransform()-1 ) return false ;
00046     for( int i=0;i<m_iDimension;++i ) m_afTranslationDirectionVectorForEcho[index][i]=v[i] ;
00047     };
00049     virtual bool GetTranslationDirectionVectorForEcho( int index, float vresult[4] )
00050     {
00051         if( index>GetNoOfEchoRigidTransform()-1 ) return false ;
00052         for( int i=0;i<m_iDimension;++i ) vresult[i]=m_afTranslationDirectionVectorForEcho[index][i] ;
00053     };
00055     virtual bool SetWeightingPercentageEchoRotation( float f )          {m_fWeightingPercentageEchoRotation=f; return true ;};
00057     virtual float GetWeightingPercentageEchoRotation( void )            {return m_fWeightingPercentageEchoRotation;};
00058 
00059 
00064     virtual bool    ComputeMetricGradient
00065         (
00066         zxhMetricBase*pMetric,
00067         zxhTransformBase*pInfluence=0
00068         ) ;
00069 };
00070 #endif //zxhGradientMultiRigid_h
00071 
00072 
 All Classes Namespaces Functions Variables Typedefs