27 #include "../../../common/STLUtils.h" 
   28 #include "../../../geometry/GTFactory.h" 
   29 #include "../../../geometry/GTParameters.h" 
   31 #include "ui_TiePointLocatorParametersWidgetForm.h" 
   34 #include <QMessageBox> 
   38     m_ui(new Ui::TiePointLocatorParametersWidgetForm)
 
   56   m_ui->m_glLabel->setVisible(
false);
 
   57   m_ui->m_enableGeometryFilterCheckBox->setVisible(
false);
 
   59   m_ui->m_mtLabel->setVisible(
false);
 
   60   m_ui->m_enableMultiThreadCheckBox->setVisible(
false);
 
   62   m_ui->m_gtLabel->setVisible(
false);
 
   63   m_ui->m_geomTransfNameComboBox->setVisible(
false);
 
   65   m_ui->m_interLabel->setVisible(
false);
 
   66   m_ui->m_interpMethodComboBox->setVisible(
false);
 
   71   m_ui->m_rescaleFactorLineEdit->setText(QString::number(value));
 
   76   return  m_ui->m_geomTransfNameComboBox->currentText().toStdString();
 
   81   updateAdvancedOptions();
 
   83   return m_inputParameters;
 
   88   m_ui->m_enableGeometryFilterCheckBox->setChecked(m_inputParameters.m_enableGeometryFilter);
 
   89   m_ui->m_enableMultiThreadCheckBox->setChecked(m_inputParameters.m_enableMultiThread);
 
   91   switch( m_inputParameters.m_interesPointsLocationStrategy )
 
   95       int idx = m_ui->m_interesPointsLocationStrategyComboBox->findText(
"Surf");
 
   96       m_ui->m_interesPointsLocationStrategyComboBox->setCurrentIndex(idx);
 
  101       int idx = m_ui->m_interesPointsLocationStrategyComboBox->findText(
"Moravec");
 
  102       m_ui->m_interesPointsLocationStrategyComboBox->setCurrentIndex(idx);
 
  109   while( gtItB != gtItE )
 
  111     m_ui->m_geomTransfNameComboBox->addItem(QString(gtItB->first.c_str()));
 
  115   int idx = m_ui->m_geomTransfNameComboBox->findText(m_inputParameters.m_geomTransfName.c_str());
 
  116   m_ui->m_geomTransfNameComboBox->setCurrentIndex(idx);
 
  118   m_ui->m_geometryFilterAssuranceLineEdit->setText(QString::number(m_inputParameters.m_geometryFilterAssurance));
 
  120   m_ui->m_geomTransfMaxErrorLineEdit->setText(QString::number(m_inputParameters.m_geomTransfMaxError));
 
  122   switch(m_inputParameters.m_interpMethod)
 
  126       int idx = m_ui->m_interpMethodComboBox->findText(
"Bilinear");
 
  127       m_ui->m_interpMethodComboBox->setCurrentIndex(idx);
 
  132       int idx = m_ui->m_interpMethodComboBox->findText(
"Bicubic");
 
  133       m_ui->m_interpMethodComboBox->setCurrentIndex(idx);
 
  138       int idx = m_ui->m_interpMethodComboBox->findText(
"NearestNeighbor");
 
  139       m_ui->m_interpMethodComboBox->setCurrentIndex(idx);
 
  143   m_ui->m_maxTiePointsLineEdit->setText(QString::number(m_inputParameters.m_maxTiePoints));
 
  145   m_ui->m_correlationWindowWidthLineEdit->setText(QString::number(m_inputParameters.m_moravecCorrelationWindowWidth));
 
  147   m_ui->m_gaussianFilterIterationsLineEdit->setText(QString::number(m_inputParameters.m_moravecNoiseFilterIterations));
 
  149   m_ui->m_minAbsCorrelationLineEdit->setText(QString::number(m_inputParameters.m_moravecMinAbsCorrelation));
 
  151   m_ui->m_moravecWindowWidthLineEdit->setText(QString::number(m_inputParameters.m_moravecWindowWidth));
 
  153   m_ui->m_maxNormEuclideanDistLineEdit->setText(QString::number(m_inputParameters.m_surfMaxNormEuclideanDist));
 
  155   m_ui->m_octavesNumberLineEdit->setText(QString::number(m_inputParameters.m_surfOctavesNumber));
 
  157   m_ui->m_scalesNumberLineEdit->setText(QString::number(m_inputParameters.m_surfScalesNumber));
 
  159   m_ui->m_rescaleFactorLineEdit->setText(QString::number(m_inputParameters.m_subSampleOptimizationRescaleFactor));
 
  164   m_inputParameters.m_enableGeometryFilter = m_ui->m_enableGeometryFilterCheckBox->isChecked();
 
  166   m_inputParameters.m_enableMultiThread = m_ui->m_enableMultiThreadCheckBox->isChecked();
 
  168   if(m_ui->m_interesPointsLocationStrategyComboBox->currentText() == 
"Surf")
 
  173   m_inputParameters.m_geomTransfName = m_ui->m_geomTransfNameComboBox->currentText().toStdString();
 
  175   if(m_ui->m_geometryFilterAssuranceLineEdit->text().isEmpty())
 
  177     QMessageBox::warning(
this, tr(
"Warning"), tr(
"Geometry assurance not defined."));
 
  180   m_inputParameters.m_geometryFilterAssurance = m_ui->m_geometryFilterAssuranceLineEdit->text().toDouble();
 
  182   if(m_ui->m_geomTransfMaxErrorLineEdit->text().isEmpty())
 
  184     QMessageBox::warning(
this, tr(
"Warning"), tr(
"Transformation error not defined."));
 
  187   m_inputParameters.m_geomTransfMaxError = m_ui->m_geomTransfMaxErrorLineEdit->text().toDouble();
 
  189   if(m_ui->m_interpMethodComboBox->currentText() == 
"Bilinear")
 
  191   else if(m_ui->m_interpMethodComboBox->currentText() == 
"Bicubic")
 
  196   if(m_ui->m_maxTiePointsLineEdit->text().isEmpty())
 
  198     QMessageBox::warning(
this, tr(
"Warning"), tr(
"Maximum number of tie-points not defined."));
 
  201   m_inputParameters.m_maxTiePoints =  m_ui->m_maxTiePointsLineEdit->text().toUInt();
 
  203   if(m_ui->m_rescaleFactorLineEdit->text().isEmpty())
 
  205     QMessageBox::warning(
this, tr(
"Warning"), tr(
"Sub-sampled search rescale factor not defined."));
 
  208   m_inputParameters.m_subSampleOptimizationRescaleFactor = m_ui->m_rescaleFactorLineEdit->text().toDouble();
 
  210   if(m_ui->m_interesPointsLocationStrategyComboBox->currentText() == 
"Surf")
 
  212     if(m_ui->m_maxNormEuclideanDistLineEdit->text().isEmpty())
 
  214       QMessageBox::warning(
this, tr(
"Warning"), tr(
"Maximum euclidean distance not defined."));
 
  217     m_inputParameters.m_surfMaxNormEuclideanDist = m_ui->m_maxNormEuclideanDistLineEdit->text().toDouble();
 
  219     if(m_ui->m_octavesNumberLineEdit->text().isEmpty())
 
  221       QMessageBox::warning(
this, tr(
"Warning"), tr(
"Octaves number not defined."));
 
  224     m_inputParameters.m_surfOctavesNumber = m_ui->m_octavesNumberLineEdit->text().toUInt();
 
  226     if(m_ui->m_scalesNumberLineEdit->text().isEmpty())
 
  228       QMessageBox::warning(
this, tr(
"Warning"), tr(
"Scales number not defined."));
 
  231     m_inputParameters.m_surfScalesNumber = m_ui->m_scalesNumberLineEdit->text().toUInt();
 
  235     if(m_ui->m_correlationWindowWidthLineEdit->text().isEmpty())
 
  237       QMessageBox::warning(
this, tr(
"Warning"), tr(
"Correlation window width not defined."));
 
  240     m_inputParameters.m_moravecCorrelationWindowWidth = m_ui->m_correlationWindowWidthLineEdit->text().toUInt();
 
  242     if(m_ui->m_gaussianFilterIterationsLineEdit->text().isEmpty())
 
  244       QMessageBox::warning(
this, tr(
"Warning"), tr(
"Gaussian filter iterations not defined."));
 
  247     m_inputParameters.m_moravecNoiseFilterIterations = m_ui->m_gaussianFilterIterationsLineEdit->text().toUInt();
 
  249     if(m_ui->m_minAbsCorrelationLineEdit->text().isEmpty())
 
  251       QMessageBox::warning(
this, tr(
"Warning"), tr(
"Minimum correlation value not defined."));
 
  254     m_inputParameters.m_moravecMinAbsCorrelation = m_ui->m_minAbsCorrelationLineEdit->text().toDouble();
 
  256     if(m_ui->m_moravecWindowWidthLineEdit->text().isEmpty())
 
  258       QMessageBox::warning(
this, tr(
"Warning"), tr(
"Moravec window width not defined."));
 
  261     m_inputParameters.m_moravecWindowWidth = m_ui->m_moravecWindowWidthLineEdit->text().toUInt();
 
Near neighborhood interpolation method. 
 
static dictionary_type & getDictionary()
It returns a reference to the internal dictionary of concrete factories. 
 
std::map< TFACTORYKEY, TFACTORY *, TKEYCOMPARE >::const_iterator const_iterator
 
std::map< TFACTORYKEY, TFACTORY *, TKEYCOMPARE >::const_iterator end() const 
It returns an iterator to the end of the container. 
 
Bicubic interpolation method. 
 
std::map< TFACTORYKEY, TFACTORY *, TKEYCOMPARE >::const_iterator begin() const 
It returns an iterator to the first stored factory. 
 
Bilinear interpolation method.