Public Member Functions | Protected Attributes

QmitkCenteredSimilarity2DTransformView Class Reference

Widget for rigid registration. More...

#include <QmitkCenteredSimilarity2DTransformView.h>

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

List of all members.

Public Member Functions

 QmitkCenteredSimilarity2DTransformView (QWidget *parent=0, Qt::WindowFlags f=0)
 ~QmitkCenteredSimilarity2DTransformView ()
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::QmitkCenteredSimilarity2DTransformControls 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 QmitkCenteredSimilarity2DTransformView.h.


Constructor & Destructor Documentation

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

Definition at line 29 of file QmitkCenteredSimilarity2DTransformView.cpp.

{
}

Member Function Documentation

QString QmitkCenteredSimilarity2DTransformView::GetName (  ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 120 of file QmitkCenteredSimilarity2DTransformView.cpp.

{
  return "CenteredSimilarity2D";
}
int QmitkCenteredSimilarity2DTransformView::GetNumberOfTransformParameters (  ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 170 of file QmitkCenteredSimilarity2DTransformView.cpp.

References QmitkRigidRegistrationTransformsGUIBase::m_FixedImage.

{
  if (m_FixedImage.IsNotNull())
  {
    if (m_FixedImage->GetDimension() == 2)
      return 6;
    else
      return 0;
  }
  else
    return 0;
}
itk::Array< double > QmitkCenteredSimilarity2DTransformView::GetScales (  ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 137 of file QmitkCenteredSimilarity2DTransformView.cpp.

References m_Controls, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale1, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale2, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale3, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale4, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScaleTranslationX, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScaleTranslationY, and Ui_QmitkCenteredSimilarity2DTransformControls::m_UseOptimizerScalesCenteredSimilarity2D.

{
  itk::Array<double> scales;
  scales.SetSize(6);
  scales.Fill(1.0);
  if (m_Controls.m_UseOptimizerScalesCenteredSimilarity2D->isChecked())
  {
    scales[0] = m_Controls.m_ScalesCenteredSimilarity2DTransformScale1->text().toDouble();
    scales[1] = m_Controls.m_ScalesCenteredSimilarity2DTransformScale2->text().toDouble();
    scales[2] = m_Controls.m_ScalesCenteredSimilarity2DTransformScale3->text().toDouble();
    scales[3] = m_Controls.m_ScalesCenteredSimilarity2DTransformScale4->text().toDouble();
    scales[4] = m_Controls.m_ScalesCenteredSimilarity2DTransformScaleTranslationX->text().toDouble();
    scales[5] = m_Controls.m_ScalesCenteredSimilarity2DTransformScaleTranslationY->text().toDouble();
  }
  return scales;
}
itk::Object::Pointer QmitkCenteredSimilarity2DTransformView::GetTransform (  ) [virtual]
itk::Array< double > QmitkCenteredSimilarity2DTransformView::GetTransformParameters (  ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 85 of file QmitkCenteredSimilarity2DTransformView.cpp.

References Ui_QmitkCenteredSimilarity2DTransformControls::m_AngleCenteredSimilarity2D, Ui_QmitkCenteredSimilarity2DTransformControls::m_CenterForInitializerCenteredSimilarity2D, m_Controls, Ui_QmitkCenteredSimilarity2DTransformControls::m_InitialScaleCenteredSimilarity2D, Ui_QmitkCenteredSimilarity2DTransformControls::m_MomentsCenteredSimilarity2D, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale1, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale2, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale3, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale4, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScaleTranslationX, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScaleTranslationY, and Ui_QmitkCenteredSimilarity2DTransformControls::m_UseOptimizerScalesCenteredSimilarity2D.

{
  itk::Array<double> transformValues;
  transformValues.SetSize(11);
  transformValues.fill(0);
  transformValues[0] = m_Controls.m_UseOptimizerScalesCenteredSimilarity2D->isChecked();
  transformValues[1] = m_Controls.m_ScalesCenteredSimilarity2DTransformScale1->text().toDouble();
  transformValues[2] = m_Controls.m_ScalesCenteredSimilarity2DTransformScale2->text().toDouble();
  transformValues[3] = m_Controls.m_ScalesCenteredSimilarity2DTransformScale3->text().toDouble();
  transformValues[4] = m_Controls.m_ScalesCenteredSimilarity2DTransformScale4->text().toDouble();
  transformValues[5] = m_Controls.m_ScalesCenteredSimilarity2DTransformScaleTranslationX->text().toDouble();
  transformValues[6] = m_Controls.m_ScalesCenteredSimilarity2DTransformScaleTranslationY->text().toDouble();
  transformValues[7] = m_Controls.m_InitialScaleCenteredSimilarity2D->text().toFloat();
  transformValues[8] = m_Controls.m_AngleCenteredSimilarity2D->text().toFloat();
  transformValues[9] = m_Controls.m_CenterForInitializerCenteredSimilarity2D->isChecked();
  transformValues[10] = m_Controls.m_MomentsCenteredSimilarity2D->isChecked();
  return transformValues;
}
void QmitkCenteredSimilarity2DTransformView::SetTransformParameters ( itk::Array< double >  transformValues ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 104 of file QmitkCenteredSimilarity2DTransformView.cpp.

References Ui_QmitkCenteredSimilarity2DTransformControls::m_AngleCenteredSimilarity2D, Ui_QmitkCenteredSimilarity2DTransformControls::m_CenterForInitializerCenteredSimilarity2D, m_Controls, Ui_QmitkCenteredSimilarity2DTransformControls::m_GeometryCenteredSimilarity2D, Ui_QmitkCenteredSimilarity2DTransformControls::m_InitialScaleCenteredSimilarity2D, Ui_QmitkCenteredSimilarity2DTransformControls::m_MomentsCenteredSimilarity2D, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale1, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale2, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale3, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale4, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScaleTranslationX, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScaleTranslationY, and Ui_QmitkCenteredSimilarity2DTransformControls::m_UseOptimizerScalesCenteredSimilarity2D.

{
  m_Controls.m_UseOptimizerScalesCenteredSimilarity2D->setChecked(transformValues[0]);
  m_Controls.m_ScalesCenteredSimilarity2DTransformScale1->setText(QString::number(transformValues[1]));
  m_Controls.m_ScalesCenteredSimilarity2DTransformScale2->setText(QString::number(transformValues[2]));
  m_Controls.m_ScalesCenteredSimilarity2DTransformScale3->setText(QString::number(transformValues[3]));
  m_Controls.m_ScalesCenteredSimilarity2DTransformScale4->setText(QString::number(transformValues[4]));
  m_Controls.m_ScalesCenteredSimilarity2DTransformScaleTranslationX->setText(QString::number(transformValues[5]));
  m_Controls.m_ScalesCenteredSimilarity2DTransformScaleTranslationY->setText(QString::number(transformValues[6]));
  m_Controls.m_InitialScaleCenteredSimilarity2D->setText(QString::number(transformValues[7]));
  m_Controls.m_AngleCenteredSimilarity2D->setText(QString::number(transformValues[8]));
  m_Controls.m_CenterForInitializerCenteredSimilarity2D->setChecked(transformValues[9]);
  m_Controls.m_MomentsCenteredSimilarity2D->setChecked(transformValues[10]);
  m_Controls.m_GeometryCenteredSimilarity2D->setChecked(!transformValues[10]);
}
void QmitkCenteredSimilarity2DTransformView::SetupUI ( QWidget *  parent ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 125 of file QmitkCenteredSimilarity2DTransformView.cpp.

References m_Controls, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale1, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale2, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale3, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScale4, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScaleTranslationX, Ui_QmitkCenteredSimilarity2DTransformControls::m_ScalesCenteredSimilarity2DTransformScaleTranslationY, and Ui_QmitkCenteredSimilarity2DTransformControls::setupUi().

{
  m_Controls.setupUi(parent);
  QValidator* validatorLineEditInputFloat = new QDoubleValidator(0, 20000000, 8, this);
  m_Controls.m_ScalesCenteredSimilarity2DTransformScale1->setValidator(validatorLineEditInputFloat);
  m_Controls.m_ScalesCenteredSimilarity2DTransformScale2->setValidator(validatorLineEditInputFloat);
  m_Controls.m_ScalesCenteredSimilarity2DTransformScale3->setValidator(validatorLineEditInputFloat);
  m_Controls.m_ScalesCenteredSimilarity2DTransformScale4->setValidator(validatorLineEditInputFloat);
  m_Controls.m_ScalesCenteredSimilarity2DTransformScaleTranslationX->setValidator(validatorLineEditInputFloat);
  m_Controls.m_ScalesCenteredSimilarity2DTransformScaleTranslationY->setValidator(validatorLineEditInputFloat);
}
vtkTransform * QmitkCenteredSimilarity2DTransformView::Transform ( vtkMatrix4x4 *  vtkmatrix,
vtkTransform *  vtktransform,
itk::Array< double >  transformParams 
) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 154 of file QmitkCenteredSimilarity2DTransformView.cpp.

References QmitkRigidRegistrationTransformsGUIBase::m_MovingImage.

{
  if (m_MovingImage.IsNotNull())
  {
    mitk::ScalarType angle = transformParams[1] * 45.0 / atan(1.0);
    vtktransform->PostMultiply();
    vtktransform->Translate(-transformParams[2], -transformParams[3], 0);
    vtktransform->Scale(transformParams[0], transformParams[0], 1);
    vtktransform->RotateZ(angle);
    vtktransform->Translate(transformParams[2], transformParams[3], 0);
    vtktransform->Translate(transformParams[4], transformParams[5], 0);
    vtktransform->PreMultiply();
  }
  return vtktransform;
}

Member Data Documentation

Definition at line 67 of file QmitkCenteredSimilarity2DTransformView.h.

Definition at line 68 of file QmitkCenteredSimilarity2DTransformView.h.

Definition at line 69 of file QmitkCenteredSimilarity2DTransformView.h.

Definition at line 65 of file QmitkCenteredSimilarity2DTransformView.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