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

mitkVersorSimilarity3DTransform.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 __mitkVersorSimilarity3DTransform_h
00012 #define __mitkVersorSimilarity3DTransform_h
00013 
00014 #include "mitkTransform.h"
00015 //#include "mitkQuaternion.h"
00016 
00028 
00029 class MITK_REGISTRATION_API mitkVersorSimilarity3DTransform : public mitkTransform
00030 {
00031 public:
00032     MITK_TYPE(mitkVersorSimilarity3DTransform, mitkTransform)   
00033     virtual void PrintSelf(ostream &os);
00034 
00038     mitkVersorSimilarity3DTransform();
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 
00081     void GetScales(ScalarParameterType &scale);
00082 
00083 protected:
00084     virtual ~mitkVersorSimilarity3DTransform(); 
00085     virtual void ComputeTransformMatrix();
00086     void ComputeJacobianParameters();
00087     virtual bool Execute();
00088 
00089     // preallocated local variables
00090     ScalarParameterType vx,vy,vz,vw;
00091     ScalarParameterType xx,yy,zz,xy,xz,xw,yz,yw,zw;
00092     ScalarParameterType vxx,vyy,vzz,vww,vxy,vxz,vxw,vyz,vyw,vzw;
00093     ScalarParameterType scale;
00094 
00095     //mitkQuaternion*               m_Versor;
00096 
00097 private:
00098     mitkVersorSimilarity3DTransform(const mitkVersorSimilarity3DTransform&);
00099     void operator = (const mitkVersorSimilarity3DTransform&);
00100 
00101 };
00102 
00103 
00104 //#define DEFINED_mitkVersorSimilarity3DTransform
00105 
00106 
00107 
00108 #endif
00109 

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