Public Member Functions | Protected Attributes

QmitkSPSAOptimizerView Class Reference

Widget for rigid registration. More...

#include <QmitkSPSAOptimizerView.h>

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

List of all members.

Public Member Functions

 QmitkSPSAOptimizerView (QWidget *parent=0, Qt::WindowFlags f=0)
 ~QmitkSPSAOptimizerView ()
virtual itk::Object::Pointer GetOptimizer ()
virtual itk::Array< double > GetOptimizerParameters ()
virtual void SetOptimizerParameters (itk::Array< double > metricValues)
virtual void SetNumberOfTransformParameters (int transformParameters)
virtual QString GetName ()
virtual void SetupUI (QWidget *parent)

Protected Attributes

Ui::QmitkSPSAOptimizerControls m_Controls
int m_NumberTransformParameters

Detailed Description

Widget for rigid registration.

Displays options for rigid registration.

Definition at line 33 of file QmitkSPSAOptimizerView.h.


Constructor & Destructor Documentation

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

Definition at line 28 of file QmitkSPSAOptimizerView.cpp.

{
}

Member Function Documentation

QString QmitkSPSAOptimizerView::GetName (  ) [virtual]

Implements QmitkRigidRegistrationOptimizerGUIBase.

Definition at line 88 of file QmitkSPSAOptimizerView.cpp.

{
  return "SPSA";
}
itk::Object::Pointer QmitkSPSAOptimizerView::GetOptimizer (  ) [virtual]

Implements QmitkRigidRegistrationOptimizerGUIBase.

Definition at line 32 of file QmitkSPSAOptimizerView.cpp.

References Ui_QmitkSPSAOptimizerControls::m_AlphaSPSA, Ui_QmitkSPSAOptimizerControls::m_ASPSA, Ui_QmitkSPSAOptimizerControls::m_aSPSA, m_Controls, Ui_QmitkSPSAOptimizerControls::m_cSPSA, Ui_QmitkSPSAOptimizerControls::m_GammaSPSA, Ui_QmitkSPSAOptimizerControls::m_IterationsSPSA, Ui_QmitkSPSAOptimizerControls::m_Maximize, Ui_QmitkSPSAOptimizerControls::m_MinimumNumberOfIterationsSPSA, Ui_QmitkSPSAOptimizerControls::m_NumberOfPerturbationsSPSA, Ui_QmitkSPSAOptimizerControls::m_StateOfConvergenceDecayRateSPSA, and Ui_QmitkSPSAOptimizerControls::m_ToleranceSPSA.

{
  itk::SPSAOptimizer::Pointer OptimizerPointer = itk::SPSAOptimizer::New();
  OptimizerPointer->SetMaximize( m_Controls.m_Maximize->isChecked() );
  OptimizerPointer->Seta( m_Controls.m_aSPSA->text().toFloat() );
  OptimizerPointer->SetA( m_Controls.m_ASPSA->text().toFloat() );
  OptimizerPointer->SetAlpha( m_Controls.m_AlphaSPSA->text().toFloat() );
  OptimizerPointer->Setc( m_Controls.m_cSPSA->text().toFloat() );
  OptimizerPointer->SetGamma( m_Controls.m_GammaSPSA->text().toFloat() );
  OptimizerPointer->SetTolerance(m_Controls.m_ToleranceSPSA->text().toFloat());
  OptimizerPointer->SetStateOfConvergenceDecayRate(m_Controls.m_StateOfConvergenceDecayRateSPSA->text().toFloat());
  OptimizerPointer->SetMinimumNumberOfIterations(m_Controls.m_MinimumNumberOfIterationsSPSA->text().toInt());
  OptimizerPointer->SetNumberOfPerturbations(m_Controls.m_NumberOfPerturbationsSPSA->text().toInt());
  OptimizerPointer->SetMaximumNumberOfIterations(m_Controls.m_IterationsSPSA->text().toInt());
  return OptimizerPointer.GetPointer();
}
itk::Array< double > QmitkSPSAOptimizerView::GetOptimizerParameters (  ) [virtual]

Implements QmitkRigidRegistrationOptimizerGUIBase.

Definition at line 49 of file QmitkSPSAOptimizerView.cpp.

References Ui_QmitkSPSAOptimizerControls::m_AlphaSPSA, Ui_QmitkSPSAOptimizerControls::m_ASPSA, Ui_QmitkSPSAOptimizerControls::m_aSPSA, m_Controls, Ui_QmitkSPSAOptimizerControls::m_cSPSA, Ui_QmitkSPSAOptimizerControls::m_GammaSPSA, Ui_QmitkSPSAOptimizerControls::m_IterationsSPSA, Ui_QmitkSPSAOptimizerControls::m_Maximize, Ui_QmitkSPSAOptimizerControls::m_MinimumNumberOfIterationsSPSA, Ui_QmitkSPSAOptimizerControls::m_NumberOfPerturbationsSPSA, Ui_QmitkSPSAOptimizerControls::m_StateOfConvergenceDecayRateSPSA, and Ui_QmitkSPSAOptimizerControls::m_ToleranceSPSA.

{
  itk::Array<double> optimizerValues;
  optimizerValues.SetSize(3);
  optimizerValues.fill(0);
  optimizerValues[0] = m_Controls.m_Maximize->isChecked();
  optimizerValues[1] = m_Controls.m_aSPSA->text().toFloat();
  optimizerValues[2] = m_Controls.m_ASPSA->text().toFloat();
  optimizerValues[3] = m_Controls.m_AlphaSPSA->text().toFloat();
  optimizerValues[4] = m_Controls.m_cSPSA->text().toFloat();
  optimizerValues[5] = m_Controls.m_GammaSPSA->text().toFloat();
  optimizerValues[6] = m_Controls.m_ToleranceSPSA->text().toFloat();
  optimizerValues[7] = m_Controls.m_StateOfConvergenceDecayRateSPSA->text().toFloat();
  optimizerValues[8] = m_Controls.m_MinimumNumberOfIterationsSPSA->text().toInt();
  optimizerValues[9] = m_Controls.m_NumberOfPerturbationsSPSA->text().toInt();
  optimizerValues[10] = m_Controls.m_IterationsSPSA->text().toInt();
  return optimizerValues;
}
void QmitkSPSAOptimizerView::SetNumberOfTransformParameters ( int  transformParameters ) [virtual]

Implements QmitkRigidRegistrationOptimizerGUIBase.

Definition at line 83 of file QmitkSPSAOptimizerView.cpp.

References m_NumberTransformParameters.

{
  m_NumberTransformParameters = transformParameters;
}
void QmitkSPSAOptimizerView::SetOptimizerParameters ( itk::Array< double >  metricValues ) [virtual]

Implements QmitkRigidRegistrationOptimizerGUIBase.

Definition at line 68 of file QmitkSPSAOptimizerView.cpp.

References Ui_QmitkSPSAOptimizerControls::m_AlphaSPSA, Ui_QmitkSPSAOptimizerControls::m_ASPSA, Ui_QmitkSPSAOptimizerControls::m_aSPSA, m_Controls, Ui_QmitkSPSAOptimizerControls::m_cSPSA, Ui_QmitkSPSAOptimizerControls::m_GammaSPSA, Ui_QmitkSPSAOptimizerControls::m_IterationsSPSA, Ui_QmitkSPSAOptimizerControls::m_Maximize, Ui_QmitkSPSAOptimizerControls::m_MinimumNumberOfIterationsSPSA, Ui_QmitkSPSAOptimizerControls::m_NumberOfPerturbationsSPSA, Ui_QmitkSPSAOptimizerControls::m_StateOfConvergenceDecayRateSPSA, and Ui_QmitkSPSAOptimizerControls::m_ToleranceSPSA.

{
  m_Controls.m_Maximize->setChecked(optimizerValues[0]);
  m_Controls.m_aSPSA->setText(QString::number(optimizerValues[1]));
  m_Controls.m_ASPSA->setText(QString::number(optimizerValues[2]));
  m_Controls.m_AlphaSPSA->setText(QString::number(optimizerValues[3]));
  m_Controls.m_cSPSA->setText(QString::number(optimizerValues[4]));
  m_Controls.m_GammaSPSA->setText(QString::number(optimizerValues[5]));
  m_Controls.m_ToleranceSPSA->setText(QString::number(optimizerValues[6]));
  m_Controls.m_StateOfConvergenceDecayRateSPSA->setText(QString::number(optimizerValues[7]));
  m_Controls.m_MinimumNumberOfIterationsSPSA->setText(QString::number(optimizerValues[8]));
  m_Controls.m_NumberOfPerturbationsSPSA->setText(QString::number(optimizerValues[9]));
  m_Controls.m_IterationsSPSA->setText(QString::number(optimizerValues[10]));
}
void QmitkSPSAOptimizerView::SetupUI ( QWidget *  parent ) [virtual]

Implements QmitkRigidRegistrationOptimizerGUIBase.

Definition at line 93 of file QmitkSPSAOptimizerView.cpp.

References Ui_QmitkSPSAOptimizerControls::m_AlphaSPSA, Ui_QmitkSPSAOptimizerControls::m_ASPSA, Ui_QmitkSPSAOptimizerControls::m_aSPSA, m_Controls, Ui_QmitkSPSAOptimizerControls::m_cSPSA, Ui_QmitkSPSAOptimizerControls::m_GammaSPSA, Ui_QmitkSPSAOptimizerControls::m_IterationsSPSA, Ui_QmitkSPSAOptimizerControls::m_MinimumNumberOfIterationsSPSA, Ui_QmitkSPSAOptimizerControls::m_NumberOfPerturbationsSPSA, Ui_QmitkSPSAOptimizerControls::m_StateOfConvergenceDecayRateSPSA, Ui_QmitkSPSAOptimizerControls::m_ToleranceSPSA, and Ui_QmitkSPSAOptimizerControls::setupUi().

{
  m_Controls.setupUi(parent);
  QValidator* validatorLineEditInput = new QIntValidator(0, 20000000, this);
  m_Controls.m_MinimumNumberOfIterationsSPSA->setValidator(validatorLineEditInput);
  m_Controls.m_NumberOfPerturbationsSPSA->setValidator(validatorLineEditInput);
  m_Controls.m_IterationsSPSA->setValidator(validatorLineEditInput);
  QValidator* validatorLineEditInputFloat = new QDoubleValidator(0, 20000000, 8, this);
  m_Controls.m_aSPSA->setValidator(validatorLineEditInputFloat);
  m_Controls.m_ASPSA->setValidator(validatorLineEditInputFloat);
  m_Controls.m_AlphaSPSA->setValidator(validatorLineEditInputFloat);
  m_Controls.m_cSPSA->setValidator(validatorLineEditInputFloat);
  m_Controls.m_GammaSPSA->setValidator(validatorLineEditInputFloat);
  m_Controls.m_ToleranceSPSA->setValidator(validatorLineEditInputFloat);
  m_Controls.m_StateOfConvergenceDecayRateSPSA->setValidator(validatorLineEditInputFloat);
}

Member Data Documentation

Definition at line 58 of file QmitkSPSAOptimizerView.h.

Referenced by SetNumberOfTransformParameters().


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