Widget for rigid registration. More...
#include <QmitkEuler2DTransformView.h>
Public Member Functions | |
QmitkEuler2DTransformView (QWidget *parent=0, Qt::WindowFlags f=0) | |
~QmitkEuler2DTransformView () | |
virtual itk::Object::Pointer | GetTransform () |
virtual itk::Array< double > | GetTransformParameters () |
virtual void | SetTransformParameters (itk::Array< double > transformValues) |
virtual QString | GetName () |
virtual void | SetupUI (QWidget *parent) |
virtual itk::Array< double > | GetScales () |
virtual vtkTransform * | Transform (vtkMatrix4x4 *vtkmatrix, vtkTransform *vtktransform, itk::Array< double > transformParams) |
virtual int | GetNumberOfTransformParameters () |
Protected Attributes | |
Ui::QmitkEuler2DTransformControls | m_Controls |
itk::Object::Pointer | m_TransformObject |
double | m_CenterX |
double | m_CenterY |
double | m_CenterZ |
Widget for rigid registration.
Displays options for rigid registration.
Definition at line 31 of file QmitkEuler2DTransformView.h.
QmitkEuler2DTransformView::QmitkEuler2DTransformView | ( | QWidget * | parent = 0 , |
Qt::WindowFlags | f = 0 |
||
) |
Definition at line 24 of file QmitkEuler2DTransformView.cpp.
: QmitkRigidRegistrationTransformsGUIBase(parent, f), m_CenterX(0), m_CenterY(0), m_CenterZ(0) { }
QmitkEuler2DTransformView::~QmitkEuler2DTransformView | ( | ) |
Definition at line 29 of file QmitkEuler2DTransformView.cpp.
{ }
QString QmitkEuler2DTransformView::GetName | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 105 of file QmitkEuler2DTransformView.cpp.
{ return "Euler2D"; }
int QmitkEuler2DTransformView::GetNumberOfTransformParameters | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 146 of file QmitkEuler2DTransformView.cpp.
References QmitkRigidRegistrationTransformsGUIBase::m_FixedImage.
{ if (m_FixedImage.IsNotNull()) { if (m_FixedImage->GetDimension() == 2) return 3; else return 0; } else return 0; }
itk::Array< double > QmitkEuler2DTransformView::GetScales | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 119 of file QmitkEuler2DTransformView.cpp.
References m_Controls, Ui_QmitkEuler2DTransformControls::m_RotationScaleEuler2D, Ui_QmitkEuler2DTransformControls::m_TranslationXScaleEuler2D, Ui_QmitkEuler2DTransformControls::m_TranslationYScaleEuler2D, and Ui_QmitkEuler2DTransformControls::m_UseOptimizerScalesEuler2D.
{ itk::Array<double> scales; scales.SetSize(3); scales.Fill(1.0); if (m_Controls.m_UseOptimizerScalesEuler2D->isChecked()) { scales[0] = m_Controls.m_RotationScaleEuler2D->text().toDouble(); scales[1] = m_Controls.m_TranslationXScaleEuler2D->text().toDouble(); scales[2] = m_Controls.m_TranslationYScaleEuler2D->text().toDouble(); } return scales; }
itk::Object::Pointer QmitkEuler2DTransformView::GetTransform | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 33 of file QmitkEuler2DTransformView.cpp.
References AccessByItk, QmitkRigidRegistrationTransformsGUIBase::m_FixedImage, and m_TransformObject.
{ if (m_FixedImage.IsNotNull()) { AccessByItk(m_FixedImage, GetTransform2); return m_TransformObject; } return NULL; }
itk::Array< double > QmitkEuler2DTransformView::GetTransformParameters | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 80 of file QmitkEuler2DTransformView.cpp.
References Ui_QmitkEuler2DTransformControls::m_CenterForInitializerEuler2D, m_Controls, Ui_QmitkEuler2DTransformControls::m_MomentsEuler2D, Ui_QmitkEuler2DTransformControls::m_RotationScaleEuler2D, Ui_QmitkEuler2DTransformControls::m_TranslationXScaleEuler2D, Ui_QmitkEuler2DTransformControls::m_TranslationYScaleEuler2D, and Ui_QmitkEuler2DTransformControls::m_UseOptimizerScalesEuler2D.
{ itk::Array<double> transformValues; transformValues.SetSize(6); transformValues.fill(0); transformValues[0] = m_Controls.m_UseOptimizerScalesEuler2D->isChecked(); transformValues[1] = m_Controls.m_RotationScaleEuler2D->text().toDouble(); transformValues[2] = m_Controls.m_TranslationXScaleEuler2D->text().toDouble(); transformValues[3] = m_Controls.m_TranslationYScaleEuler2D->text().toDouble(); transformValues[4] = m_Controls.m_CenterForInitializerEuler2D->isChecked(); transformValues[5] = m_Controls.m_MomentsEuler2D->isChecked(); return transformValues; }
void QmitkEuler2DTransformView::SetTransformParameters | ( | itk::Array< double > | transformValues ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 94 of file QmitkEuler2DTransformView.cpp.
References Ui_QmitkEuler2DTransformControls::m_CenterForInitializerEuler2D, m_Controls, Ui_QmitkEuler2DTransformControls::m_GeometryEuler2D, Ui_QmitkEuler2DTransformControls::m_MomentsEuler2D, Ui_QmitkEuler2DTransformControls::m_RotationScaleEuler2D, Ui_QmitkEuler2DTransformControls::m_TranslationXScaleEuler2D, Ui_QmitkEuler2DTransformControls::m_TranslationYScaleEuler2D, and Ui_QmitkEuler2DTransformControls::m_UseOptimizerScalesEuler2D.
{ m_Controls.m_UseOptimizerScalesEuler2D->setChecked(transformValues[0]); m_Controls.m_RotationScaleEuler2D->setText(QString::number(transformValues[1])); m_Controls.m_TranslationXScaleEuler2D->setText(QString::number(transformValues[2])); m_Controls.m_TranslationYScaleEuler2D->setText(QString::number(transformValues[3])); m_Controls.m_CenterForInitializerEuler2D->setChecked(transformValues[4]); m_Controls.m_MomentsEuler2D->setChecked(transformValues[5]); m_Controls.m_GeometryEuler2D->setChecked(!transformValues[5]); }
void QmitkEuler2DTransformView::SetupUI | ( | QWidget * | parent ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 110 of file QmitkEuler2DTransformView.cpp.
References m_Controls, Ui_QmitkEuler2DTransformControls::m_RotationScaleEuler2D, Ui_QmitkEuler2DTransformControls::m_TranslationXScaleEuler2D, Ui_QmitkEuler2DTransformControls::m_TranslationYScaleEuler2D, and Ui_QmitkEuler2DTransformControls::setupUi().
{ m_Controls.setupUi(parent); QValidator* validatorLineEditInputFloat = new QDoubleValidator(0, 20000000, 8, this); m_Controls.m_RotationScaleEuler2D->setValidator(validatorLineEditInputFloat); m_Controls.m_TranslationXScaleEuler2D->setValidator(validatorLineEditInputFloat); m_Controls.m_TranslationYScaleEuler2D->setValidator(validatorLineEditInputFloat); }
vtkTransform * QmitkEuler2DTransformView::Transform | ( | vtkMatrix4x4 * | vtkmatrix, |
vtkTransform * | vtktransform, | ||
itk::Array< double > | transformParams | ||
) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 133 of file QmitkEuler2DTransformView.cpp.
References QmitkRigidRegistrationTransformsGUIBase::m_MovingImage.
{ if (m_MovingImage.IsNotNull()) { mitk::ScalarType angle = transformParams[0] * 45.0 / atan(1.0); vtktransform->PostMultiply(); vtktransform->RotateZ(angle); vtktransform->Translate(transformParams[1], transformParams[2], 0); vtktransform->PreMultiply(); } return vtktransform; }
double QmitkEuler2DTransformView::m_CenterX [protected] |
Definition at line 67 of file QmitkEuler2DTransformView.h.
double QmitkEuler2DTransformView::m_CenterY [protected] |
Definition at line 68 of file QmitkEuler2DTransformView.h.
double QmitkEuler2DTransformView::m_CenterZ [protected] |
Definition at line 69 of file QmitkEuler2DTransformView.h.
Definition at line 63 of file QmitkEuler2DTransformView.h.
Referenced by GetScales(), GetTransformParameters(), SetTransformParameters(), and SetupUI().
itk::Object::Pointer QmitkEuler2DTransformView::m_TransformObject [protected] |
Definition at line 65 of file QmitkEuler2DTransformView.h.
Referenced by GetTransform().