00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision: 1.12 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef QmitkEuler3DTransformViewWidgetHIncluded 00019 #define QmitkEuler3DTransformViewWidgetHIncluded 00020 00021 #include "ui_QmitkEuler3DTransformControls.h" 00022 #include "MitkRigidRegistrationUIExports.h" 00023 #include "QmitkRigidRegistrationTransformsGUIBase.h" 00024 #include <itkImage.h> 00025 00031 class MITK_RIGIDREGISTRATION_UI_EXPORT QmitkEuler3DTransformView : public QmitkRigidRegistrationTransformsGUIBase 00032 { 00033 00034 public: 00035 00036 QmitkEuler3DTransformView( QWidget* parent = 0, Qt::WindowFlags f = 0 ); 00037 ~QmitkEuler3DTransformView(); 00038 00039 00040 virtual itk::Object::Pointer GetTransform(); 00041 00042 virtual itk::Array<double> GetTransformParameters(); 00043 00044 virtual void SetTransformParameters(itk::Array<double> transformValues); 00045 00046 virtual QString GetName(); 00047 00048 virtual void SetupUI(QWidget* parent); 00049 00050 virtual itk::Array<double> GetScales(); 00051 00052 virtual vtkTransform* Transform(vtkMatrix4x4* vtkmatrix, vtkTransform* vtktransform, itk::Array<double> transformParams); 00053 00054 virtual int GetNumberOfTransformParameters(); 00055 00056 private: 00057 00058 template < class TPixelType, unsigned int VImageDimension > 00059 itk::Object::Pointer GetTransform2(itk::Image<TPixelType, VImageDimension>* itkImage1); 00060 00061 protected: 00062 00063 Ui::QmitkEuler3DTransformControls m_Controls; 00064 00065 itk::Object::Pointer m_TransformObject; 00066 00067 double m_CenterX; 00068 double m_CenterY; 00069 double m_CenterZ; 00070 00071 }; 00072 00073 #endif