Widget for rigid registration. More...
#include <QmitkScaleSkewVersor3DTransformView.h>


Public Member Functions | |
| QmitkScaleSkewVersor3DTransformView (QWidget *parent=0, Qt::WindowFlags f=0) | |
| ~QmitkScaleSkewVersor3DTransformView () | |
| 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::QmitkScaleSkewVersor3DTransformControls | 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 QmitkScaleSkewVersor3DTransformView.h.
| QmitkScaleSkewVersor3DTransformView::QmitkScaleSkewVersor3DTransformView | ( | QWidget * | parent = 0, |
| Qt::WindowFlags | f = 0 |
||
| ) |
Definition at line 24 of file QmitkScaleSkewVersor3DTransformView.cpp.
: QmitkRigidRegistrationTransformsGUIBase(parent, f), m_CenterX(0), m_CenterY(0), m_CenterZ(0) { }
| QmitkScaleSkewVersor3DTransformView::~QmitkScaleSkewVersor3DTransformView | ( | ) |
Definition at line 29 of file QmitkScaleSkewVersor3DTransformView.cpp.
{
}
| QString QmitkScaleSkewVersor3DTransformView::GetName | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 132 of file QmitkScaleSkewVersor3DTransformView.cpp.
{
return "ScaleSkewVersor3D";
}
| int QmitkScaleSkewVersor3DTransformView::GetNumberOfTransformParameters | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 213 of file QmitkScaleSkewVersor3DTransformView.cpp.
References QmitkRigidRegistrationTransformsGUIBase::m_FixedImage.
{
if (m_FixedImage.IsNotNull())
{
if (m_FixedImage->GetDimension() == 2)
return 0;
else
return 15;
}
else
return 0;
}
| itk::Array< double > QmitkScaleSkewVersor3DTransformView::GetScales | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 158 of file QmitkScaleSkewVersor3DTransformView.cpp.
References m_Controls, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScaleScaleSkewVersorRigid3DTransformScaleTranslationY, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale1, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale10, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale11, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale12, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale13, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale14, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale15, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale2, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale3, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale7, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale8, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale9, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationX, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationZ, and Ui_QmitkScaleSkewVersor3DTransformControls::m_UseOptimizerScalesScaleSkewVersorRigid3DTransform.
{
itk::Array<double> scales;
scales.SetSize(15);
scales.Fill(1.0);
if (m_Controls.m_UseOptimizerScalesScaleSkewVersorRigid3DTransform->isChecked())
{
scales[0] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale1->text().toDouble();
scales[1] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale2->text().toDouble();
scales[2] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale3->text().toDouble();
scales[3] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationX->text().toDouble();
scales[4] = m_Controls.m_ScaleScaleSkewVersorRigid3DTransformScaleTranslationY->text().toDouble();
scales[5] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationZ->text().toDouble();
scales[6] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale7->text().toDouble();
scales[7] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale8->text().toDouble();
scales[8] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale9->text().toDouble();
scales[9] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale10->text().toDouble();
scales[10] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale11->text().toDouble();
scales[11] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale12->text().toDouble();
scales[12] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale13->text().toDouble();
scales[13] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale14->text().toDouble();
scales[14] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale15->text().toDouble();
}
return scales;
}
| itk::Object::Pointer QmitkScaleSkewVersor3DTransformView::GetTransform | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 33 of file QmitkScaleSkewVersor3DTransformView.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 > QmitkScaleSkewVersor3DTransformView::GetTransformParameters | ( | ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 83 of file QmitkScaleSkewVersor3DTransformView.cpp.
References Ui_QmitkScaleSkewVersor3DTransformControls::m_CenterForInitializerScaleSkewVersorRigid3D, m_Controls, Ui_QmitkScaleSkewVersor3DTransformControls::m_MomentsScaleSkewVersorRigid3D, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScaleScaleSkewVersorRigid3DTransformScaleTranslationY, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale1, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale10, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale11, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale12, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale13, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale14, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale15, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale2, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale3, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale7, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale8, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale9, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationX, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationZ, and Ui_QmitkScaleSkewVersor3DTransformControls::m_UseOptimizerScalesScaleSkewVersorRigid3DTransform.
{
itk::Array<double> transformValues;
transformValues.SetSize(18);
transformValues.fill(0);
transformValues[0] = m_Controls.m_UseOptimizerScalesScaleSkewVersorRigid3DTransform->isChecked();
transformValues[1] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale1->text().toDouble();
transformValues[2] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale2->text().toDouble();
transformValues[3] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale3->text().toDouble();
transformValues[4] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationX->text().toDouble();
transformValues[5] = m_Controls.m_ScaleScaleSkewVersorRigid3DTransformScaleTranslationY->text().toDouble();
transformValues[6] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationZ->text().toDouble();
transformValues[7] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale7->text().toDouble();
transformValues[8] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale8->text().toDouble();
transformValues[9] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale9->text().toDouble();
transformValues[10] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale10->text().toDouble();
transformValues[11] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale11->text().toDouble();
transformValues[12] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale12->text().toDouble();
transformValues[13] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale13->text().toDouble();
transformValues[14] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale14->text().toDouble();
transformValues[15] = m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale15->text().toDouble();
transformValues[16] = m_Controls.m_CenterForInitializerScaleSkewVersorRigid3D->isChecked();
transformValues[17] = m_Controls.m_MomentsScaleSkewVersorRigid3D->isChecked();
return transformValues;
}
| void QmitkScaleSkewVersor3DTransformView::SetTransformParameters | ( | itk::Array< double > | transformValues ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 109 of file QmitkScaleSkewVersor3DTransformView.cpp.
References Ui_QmitkScaleSkewVersor3DTransformControls::m_CenterForInitializerScaleSkewVersorRigid3D, m_Controls, Ui_QmitkScaleSkewVersor3DTransformControls::m_GeometryScaleSkewVersorRigid3D, Ui_QmitkScaleSkewVersor3DTransformControls::m_MomentsScaleSkewVersorRigid3D, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScaleScaleSkewVersorRigid3DTransformScaleTranslationY, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale1, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale10, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale11, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale12, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale13, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale14, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale15, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale2, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale3, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale7, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale8, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale9, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationX, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationZ, and Ui_QmitkScaleSkewVersor3DTransformControls::m_UseOptimizerScalesScaleSkewVersorRigid3DTransform.
{
m_Controls.m_UseOptimizerScalesScaleSkewVersorRigid3DTransform->setChecked(transformValues[0]);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale1->setText(QString::number(transformValues[1]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale2->setText(QString::number(transformValues[2]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale3->setText(QString::number(transformValues[3]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationX->setText(QString::number(transformValues[4]));
m_Controls.m_ScaleScaleSkewVersorRigid3DTransformScaleTranslationY->setText(QString::number(transformValues[5]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationZ->setText(QString::number(transformValues[6]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale7->setText(QString::number(transformValues[7]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale8->setText(QString::number(transformValues[8]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale9->setText(QString::number(transformValues[9]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale10->setText(QString::number(transformValues[10]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale11->setText(QString::number(transformValues[11]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale12->setText(QString::number(transformValues[12]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale13->setText(QString::number(transformValues[13]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale14->setText(QString::number(transformValues[14]));
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale15->setText(QString::number(transformValues[15]));
m_Controls.m_CenterForInitializerScaleSkewVersorRigid3D->setChecked(transformValues[16]);
m_Controls.m_MomentsScaleSkewVersorRigid3D->setChecked(transformValues[17]);
m_Controls.m_GeometryScaleSkewVersorRigid3D->setChecked(!transformValues[17]);
}
| void QmitkScaleSkewVersor3DTransformView::SetupUI | ( | QWidget * | parent ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 137 of file QmitkScaleSkewVersor3DTransformView.cpp.
References m_Controls, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScaleScaleSkewVersorRigid3DTransformScaleTranslationY, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale1, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale10, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale11, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale12, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale13, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale14, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale15, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale2, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale3, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale7, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale8, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScale9, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationX, Ui_QmitkScaleSkewVersor3DTransformControls::m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationZ, and Ui_QmitkScaleSkewVersor3DTransformControls::setupUi().
{
m_Controls.setupUi(parent);
QValidator* validatorLineEditInputFloat = new QDoubleValidator(0, 20000000, 8, this);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale1->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale2->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale3->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationX->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScaleScaleSkewVersorRigid3DTransformScaleTranslationY->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScaleTranslationZ->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale7->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale8->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale9->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale10->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale11->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale12->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale13->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale14->setValidator(validatorLineEditInputFloat);
m_Controls.m_ScalesScaleSkewVersorRigid3DTransformScale15->setValidator(validatorLineEditInputFloat);
}
| vtkTransform * QmitkScaleSkewVersor3DTransformView::Transform | ( | vtkMatrix4x4 * | vtkmatrix, |
| vtkTransform * | vtktransform, | ||
| itk::Array< double > | transformParams | ||
| ) | [virtual] |
Implements QmitkRigidRegistrationTransformsGUIBase.
Definition at line 184 of file QmitkScaleSkewVersor3DTransformView.cpp.
References m_CenterX, m_CenterY, m_CenterZ, and QmitkRigidRegistrationTransformsGUIBase::m_MovingImage.
{
if (m_MovingImage.IsNotNull())
{
itk::ScaleSkewVersor3DTransform<double>::Pointer versorTransform = itk::ScaleSkewVersor3DTransform<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] + transformParams[3]);
vtkmatrix->SetElement(1, 3, -translation[1] + center[1] + transformParams[4]);
vtkmatrix->SetElement(2, 3, -translation[2] + center[2] + transformParams[5]);
vtktransform->SetMatrix(vtkmatrix);
}
return vtktransform;
}
double QmitkScaleSkewVersor3DTransformView::m_CenterX [protected] |
Definition at line 67 of file QmitkScaleSkewVersor3DTransformView.h.
Referenced by Transform().
double QmitkScaleSkewVersor3DTransformView::m_CenterY [protected] |
Definition at line 68 of file QmitkScaleSkewVersor3DTransformView.h.
Referenced by Transform().
double QmitkScaleSkewVersor3DTransformView::m_CenterZ [protected] |
Definition at line 69 of file QmitkScaleSkewVersor3DTransformView.h.
Referenced by Transform().
Ui::QmitkScaleSkewVersor3DTransformControls QmitkScaleSkewVersor3DTransformView::m_Controls [protected] |
Definition at line 63 of file QmitkScaleSkewVersor3DTransformView.h.
Referenced by GetScales(), GetTransformParameters(), SetTransformParameters(), and SetupUI().
itk::Object::Pointer QmitkScaleSkewVersor3DTransformView::m_TransformObject [protected] |
Definition at line 65 of file QmitkScaleSkewVersor3DTransformView.h.
Referenced by GetTransform().
1.7.2