Widget for rigid registration. More...
#include <QmitkSPSAOptimizerView.h>
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 |
Widget for rigid registration.
Displays options for rigid registration.
Definition at line 33 of file QmitkSPSAOptimizerView.h.
QmitkSPSAOptimizerView::QmitkSPSAOptimizerView | ( | QWidget * | parent = 0 , |
Qt::WindowFlags | f = 0 |
||
) |
Definition at line 22 of file QmitkSPSAOptimizerView.cpp.
: QmitkRigidRegistrationOptimizerGUIBase (parent, f), m_NumberTransformParameters(16) { }
QmitkSPSAOptimizerView::~QmitkSPSAOptimizerView | ( | ) |
Definition at line 28 of file QmitkSPSAOptimizerView.cpp.
{ }
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); }
Definition at line 56 of file QmitkSPSAOptimizerView.h.
Referenced by GetOptimizer(), GetOptimizerParameters(), SetOptimizerParameters(), and SetupUI().
int QmitkSPSAOptimizerView::m_NumberTransformParameters [protected] |
Definition at line 58 of file QmitkSPSAOptimizerView.h.
Referenced by SetNumberOfTransformParameters().