Public Member Functions | Protected Attributes

QmitkVersorTransformView Class Reference

Widget for rigid registration. More...

#include <QmitkVersorTransformView.h>

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

List of all members.

Public Member Functions

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


Constructor & Destructor Documentation

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

Definition at line 24 of file QmitkVersorTransformView.cpp.

QmitkVersorTransformView::~QmitkVersorTransformView (  )

Definition at line 29 of file QmitkVersorTransformView.cpp.

{
}

Member Function Documentation

QString QmitkVersorTransformView::GetName (  ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 108 of file QmitkVersorTransformView.cpp.

{
  return "Versor";
}
int QmitkVersorTransformView::GetNumberOfTransformParameters (  ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 165 of file QmitkVersorTransformView.cpp.

References QmitkRigidRegistrationTransformsGUIBase::m_FixedImage.

{
  if (m_FixedImage.IsNotNull())
  {
    if (m_FixedImage->GetDimension() == 2)
      return 0;
    else
      return 3;
  }
  else
    return 0;
}
itk::Array< double > QmitkVersorTransformView::GetScales (  ) [virtual]
itk::Object::Pointer QmitkVersorTransformView::GetTransform (  ) [virtual]
itk::Array< double > QmitkVersorTransformView::GetTransformParameters (  ) [virtual]
void QmitkVersorTransformView::SetTransformParameters ( itk::Array< double >  transformValues ) [virtual]
void QmitkVersorTransformView::SetupUI ( QWidget *  parent ) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 113 of file QmitkVersorTransformView.cpp.

References m_Controls, Ui_QmitkVersorTransformControls::m_ScalesVersorTransformScale1, Ui_QmitkVersorTransformControls::m_ScalesVersorTransformScale2, Ui_QmitkVersorTransformControls::m_ScalesVersorTransformScale3, and Ui_QmitkVersorTransformControls::setupUi().

{
  m_Controls.setupUi(parent);
  QValidator* validatorLineEditInputFloat = new QDoubleValidator(0, 20000000, 8, this);
  m_Controls.m_ScalesVersorTransformScale1->setValidator(validatorLineEditInputFloat);
  m_Controls.m_ScalesVersorTransformScale2->setValidator(validatorLineEditInputFloat);
  m_Controls.m_ScalesVersorTransformScale3->setValidator(validatorLineEditInputFloat);
}
vtkTransform * QmitkVersorTransformView::Transform ( vtkMatrix4x4 *  vtkmatrix,
vtkTransform *  vtktransform,
itk::Array< double >  transformParams 
) [virtual]

Implements QmitkRigidRegistrationTransformsGUIBase.

Definition at line 136 of file QmitkVersorTransformView.cpp.

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

{
  if (m_MovingImage.IsNotNull())
  {
    itk::VersorTransform<double>::Pointer versorTransform = itk::VersorTransform<double>::New();
    versorTransform->SetParameters(transformParams);
    itk::Matrix<double, 3, 3> Matrix = versorTransform->GetMatrix();
    for (int i = 0; i < 3; i++)
    {
      for (int j = 0; j < 3; j++)
      {
        vtkmatrix->SetElement(i, j, Matrix[i][j]);
      }
    }
    float center[4];
    float translation[4];
    center[0] = m_CenterX;
    center[1] = m_CenterY;
    center[2] = m_CenterZ;
    center[3] = 1;
    vtkmatrix->MultiplyPoint(center, translation);
    vtkmatrix->SetElement(0, 3, -translation[0] + center[0]);
    vtkmatrix->SetElement(1, 3, -translation[1] + center[1]);
    vtkmatrix->SetElement(2, 3, -translation[2] + center[2]);
    vtktransform->SetMatrix(vtkmatrix);
  }
  return vtktransform;
}

Member Data Documentation

Definition at line 67 of file QmitkVersorTransformView.h.

Referenced by Transform().

Definition at line 68 of file QmitkVersorTransformView.h.

Referenced by Transform().

Definition at line 69 of file QmitkVersorTransformView.h.

Referenced by Transform().

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

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