Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkVersorRigid3DTransform.h

00001 /*=========================================================================
00002 
00003   Program:   3DMed
00004   Date:      $Date: 2014-02-25 18:30:00 +0800 $
00005   Version:   $Version: 4.6.0 $
00006   Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences
00007 
00008 =========================================================================*/
00009 
00010 
00011 #ifndef __mitkVersorRigid3DTransform_h
00012 #define __mitkVersorRigid3DTransform_h
00013 
00014 #include "mitkTransform.h"
00015 //#include "mitkQuaternion.h"
00016 
00028 
00029 class MITK_REGISTRATION_API mitkVersorRigid3DTransform : public mitkTransform
00030 {
00031 public:
00032     MITK_TYPE(mitkVersorRigid3DTransform, mitkTransform)    
00033     virtual void PrintSelf(ostream &os);
00034 
00038     mitkVersorRigid3DTransform();
00039 
00045     const MatrixType & GetJacobian(const VectorParameterType& inPoint);
00046 
00051     virtual void ConvertTransformMaxtrixToVector();
00052 
00059     void GetVersor(ScalarParameterType &x, ScalarParameterType &y, ScalarParameterType &z, ScalarParameterType &w);
00060 
00067     void GetAngles(ScalarParameterType &alpha, ScalarParameterType &beta, ScalarParameterType &gamma);
00068 
00075     void GetTranslations(ScalarParameterType &tx, ScalarParameterType &ty, ScalarParameterType &tz);
00076 
00077 protected:
00078     virtual ~mitkVersorRigid3DTransform();  
00079     virtual void ComputeTransformMatrix();
00080     void ComputeJacobianParameters();
00081     virtual bool Execute();
00082 
00083     // preallocated local variables
00084     ScalarParameterType vx,vy,vz,vw;
00085     ScalarParameterType xx,yy,zz,xy,xz,xw,yz,yw,zw;
00086     ScalarParameterType vxx,vyy,vzz,vww,vxy,vxz,vxw,vyz,vyw,vzw;
00087 
00088     //mitkQuaternion*               m_Versor;
00089 
00090 private:
00091     mitkVersorRigid3DTransform(const mitkVersorRigid3DTransform&);
00092     void operator = (const mitkVersorRigid3DTransform&);
00093 
00094 };
00095 
00096 
00097 //#define DEFINED_mitkVersorRigid3DTransform
00098 
00099 
00100 
00101 #endif
00102 

Generated on Tue Feb 25 15:00:37 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3