Public Member Functions | Protected Attributes

QmitkEuler3DTransformView Class Reference

Widget for rigid registration. More...

#include <QmitkEuler3DTransformView.h>

Inheritance diagram for QmitkEuler3DTransformView:
Inheritance graph
[legend]
Collaboration diagram for QmitkEuler3DTransformView:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 QmitkEuler3DTransformView (QWidget *parent=0, Qt::WindowFlags f=0)
 ~QmitkEuler3DTransformView ()
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::QmitkEuler3DTransformControls m_Controls
itk::Object::Pointer m_TransformObject
double m_CenterX
double m_CenterY
double m_CenterZ

Detailed Description

Widget for rigid registration.

Displays options for rigid registration.

Definition at line 31 of file QmitkEuler3DTransformView.h.


Constructor & Destructor Documentation

QmitkEuler3DTransformView::QmitkEuler3DTransformView ( QWidget *  parent = 0,
Qt::WindowFlags  f = 0 
)
QmitkEuler3DTransformView::~QmitkEuler3DTransformView (  )

Definition at line 29 of file QmitkEuler3DTransformView.cpp.

{
}

Member Function Documentation

QString QmitkEuler3DTransformView::GetName (  ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 90 of file QmitkEuler3DTransformView.cpp.

{
  return "Euler3D";
}
int QmitkEuler3DTransformView::GetNumberOfTransformParameters (  ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 143 of file QmitkEuler3DTransformView.cpp.

References QmitkRigidRegistrationTransformsGUIBase::m_FixedImage.

{
  if (m_FixedImage.IsNotNull())
  {
    if (m_FixedImage->GetDimension() == 2)
      return 4;
    else
      return 6;
  }
  else
    return 0;
}
itk::Array< double > QmitkEuler3DTransformView::GetScales (  ) [virtual]
itk::Object::Pointer QmitkEuler3DTransformView::GetTransform (  ) [virtual]
itk::Array< double > QmitkEuler3DTransformView::GetTransformParameters (  ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 59 of file QmitkEuler3DTransformView.cpp.

References Ui_QmitkEuler3DTransformControls::m_CenterForInitializerEuler3D, m_Controls, Ui_QmitkEuler3DTransformControls::m_MomentsEuler3D, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScale1, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScale2, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScale3, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScaleTranslationX, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScaleTranslationY, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScaleTranslationZ, and Ui_QmitkEuler3DTransformControls::m_UseOptimizerScalesEuler3D.

{
  itk::Array<double> transformValues;
  transformValues.SetSize(9);
  transformValues.fill(0);
  transformValues[0] = m_Controls.m_UseOptimizerScalesEuler3D->isChecked();
  transformValues[1] = m_Controls.m_ScalesEuler3DTransformScale1->text().toDouble();
  transformValues[2] = m_Controls.m_ScalesEuler3DTransformScale2->text().toDouble();
  transformValues[3] = m_Controls.m_ScalesEuler3DTransformScale3->text().toDouble();
  transformValues[4] = m_Controls.m_ScalesEuler3DTransformScaleTranslationX->text().toDouble();
  transformValues[5] = m_Controls.m_ScalesEuler3DTransformScaleTranslationY->text().toDouble();
  transformValues[6] = m_Controls.m_ScalesEuler3DTransformScaleTranslationZ->text().toDouble();
  transformValues[7] = m_Controls.m_CenterForInitializerEuler3D->isChecked();
  transformValues[8] = m_Controls.m_MomentsEuler3D->isChecked();
  return transformValues;
}
void QmitkEuler3DTransformView::SetTransformParameters ( itk::Array< double >  transformValues ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 76 of file QmitkEuler3DTransformView.cpp.

References Ui_QmitkEuler3DTransformControls::m_CenterForInitializerEuler3D, m_Controls, Ui_QmitkEuler3DTransformControls::m_GeometryEuler3D, Ui_QmitkEuler3DTransformControls::m_MomentsEuler3D, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScale1, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScale2, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScale3, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScaleTranslationX, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScaleTranslationY, Ui_QmitkEuler3DTransformControls::m_ScalesEuler3DTransformScaleTranslationZ, and Ui_QmitkEuler3DTransformControls::m_UseOptimizerScalesEuler3D.

{
  m_Controls.m_UseOptimizerScalesEuler3D->setChecked(transformValues[0]);
  m_Controls.m_ScalesEuler3DTransformScale1->setText(QString::number(transformValues[1]));
  m_Controls.m_ScalesEuler3DTransformScale2->setText(QString::number(transformValues[2]));
  m_Controls.m_ScalesEuler3DTransformScale3->setText(QString::number(transformValues[3]));
  m_Controls.m_ScalesEuler3DTransformScaleTranslationX->setText(QString::number(transformValues[4]));
  m_Controls.m_ScalesEuler3DTransformScaleTranslationY->setText(QString::number(transformValues[5]));
  m_Controls.m_ScalesEuler3DTransformScaleTranslationZ->setText(QString::number(transformValues[6]));
  m_Controls.m_CenterForInitializerEuler3D->setChecked(transformValues[7]);
  m_Controls.m_MomentsEuler3D->setChecked(transformValues[8]);
  m_Controls.m_GeometryEuler3D->setChecked(!transformValues[8]);
}
void QmitkEuler3DTransformView::SetupUI ( QWidget *  parent ) [virtual]
vtkTransform * QmitkEuler3DTransformView::Transform ( vtkMatrix4x4 *  vtkmatrix,
vtkTransform *  vtktransform,
itk::Array< double >  transformParams 
) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 124 of file QmitkEuler3DTransformView.cpp.

References m_CenterX, m_CenterY, m_CenterZ, and QmitkRigidRegistrationTransformsGUIBase::m_MovingImage.

{
  if (m_MovingImage.IsNotNull())
  {
    mitk::ScalarType angleX = transformParams[0] * 45.0 / atan(1.0);
    mitk::ScalarType angleY = transformParams[1] * 45.0 / atan(1.0);
    mitk::ScalarType angleZ = transformParams[2] * 45.0 / atan(1.0);
    vtktransform->PostMultiply();
    vtktransform->Translate(-m_CenterX, -m_CenterY, -m_CenterZ);
    vtktransform->RotateX(angleX);
    vtktransform->RotateY(angleY);
    vtktransform->RotateZ(angleZ);
    vtktransform->Translate(m_CenterX, m_CenterY, m_CenterZ);
    vtktransform->Translate(transformParams[3], transformParams[4], transformParams[5]);
    vtktransform->PreMultiply();
  }
  return vtktransform;
}

Member Data Documentation

Definition at line 67 of file QmitkEuler3DTransformView.h.

Referenced by Transform().

Definition at line 68 of file QmitkEuler3DTransformView.h.

Referenced by Transform().

Definition at line 69 of file QmitkEuler3DTransformView.h.

Referenced by Transform().

itk::Object::Pointer QmitkEuler3DTransformView::m_TransformObject [protected]

Definition at line 65 of file QmitkEuler3DTransformView.h.

Referenced by GetTransform().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines