27 #include "../../../common/STLUtils.h" 28 #include "../../../geometry/GTFactory.h" 29 #include "../../../geometry/GTParameters.h" 30 #include "../../../rp/TiePointsLocatorMoravecStrategy.h" 31 #include "../../../rp/TiePointsLocatorSURFStrategy.h" 33 #include "ui_TiePointLocatorParametersWidgetForm.h" 36 #include <QMessageBox> 40 m_ui(new
Ui::TiePointLocatorParametersWidgetForm)
57 m_ui->m_glLabel->setVisible(
false);
58 m_ui->m_enableGeometryFilterCheckBox->setVisible(
false);
60 m_ui->m_mtLabel->setVisible(
false);
61 m_ui->m_enableMultiThreadCheckBox->setVisible(
false);
63 m_ui->m_gtLabel->setVisible(
false);
64 m_ui->m_geomTransfNameComboBox->setVisible(
false);
66 m_ui->m_interLabel->setVisible(
false);
67 m_ui->m_interpMethodComboBox->setVisible(
false);
72 m_ui->m_rescaleFactorLineEdit->setText(QString::number(value));
77 return m_ui->m_geomTransfNameComboBox->currentText().toUtf8().data();
94 int idx =
m_ui->m_interesPointsLocationStrategyComboBox->findText(
"SURF");
95 m_ui->m_interesPointsLocationStrategyComboBox->setCurrentIndex(idx);
99 int idx =
m_ui->m_interesPointsLocationStrategyComboBox->findText(
"Moravec");
100 m_ui->m_interesPointsLocationStrategyComboBox->setCurrentIndex(idx);
106 while( gtItB != gtItE )
108 m_ui->m_geomTransfNameComboBox->addItem(QString(gtItB->first.c_str()));
113 m_ui->m_geomTransfNameComboBox->setCurrentIndex(idx);
123 int idx =
m_ui->m_interpMethodComboBox->findText(
"Bilinear");
124 m_ui->m_interpMethodComboBox->setCurrentIndex(idx);
129 int idx =
m_ui->m_interpMethodComboBox->findText(
"Bicubic");
130 m_ui->m_interpMethodComboBox->setCurrentIndex(idx);
135 int idx =
m_ui->m_interpMethodComboBox->findText(
"NearestNeighbor");
136 m_ui->m_interpMethodComboBox->setCurrentIndex(idx);
173 if(
m_ui->m_interesPointsLocationStrategyComboBox->currentText() ==
"SURF")
180 if(
m_ui->m_geometryFilterAssuranceLineEdit->text().isEmpty())
182 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Geometry assurance not defined."));
187 if(
m_ui->m_geomTransfMaxErrorLineEdit->text().isEmpty())
189 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Transformation error not defined."));
194 if(
m_ui->m_interpMethodComboBox->currentText() ==
"Bilinear")
196 else if(
m_ui->m_interpMethodComboBox->currentText() ==
"Bicubic")
201 if(
m_ui->m_maxTiePointsLineEdit->text().isEmpty())
203 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Maximum number of tie-points not defined."));
208 if(
m_ui->m_rescaleFactorLineEdit->text().isEmpty())
210 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Sub-sampled search rescale factor not defined."));
215 if(
m_ui->m_interesPointsLocationStrategyComboBox->currentText() ==
"SURF")
219 if(
m_ui->m_maxNormEuclideanDistLineEdit->text().isEmpty())
221 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Maximum euclidean distance not defined."));
226 if(
m_ui->m_octavesNumberLineEdit->text().isEmpty())
228 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Octaves number not defined."));
233 if(
m_ui->m_scalesNumberLineEdit->text().isEmpty())
235 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Scales number not defined."));
246 if(
m_ui->m_correlationWindowWidthLineEdit->text().isEmpty())
248 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Correlation window width not defined."));
253 if(
m_ui->m_gaussianFilterIterationsLineEdit->text().isEmpty())
255 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Gaussian filter iterations not defined."));
260 if(
m_ui->m_minAbsCorrelationLineEdit->text().isEmpty())
262 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Minimum correlation value not defined."));
267 if(
m_ui->m_moravecWindowWidthLineEdit->text().isEmpty())
269 QMessageBox::warning(
this, tr(
"Warning"), tr(
"Moravec window width not defined."));
Near neighborhood interpolation method.
unsigned int m_surfScalesNumber
The number of sub-sampling scales to generate, when applicable (default:3, minimum:3).
static dictionary_type & getDictionary()
It returns a reference to the internal dictionary of concrete factories.
TiePointsLocator SURF strategy parameters.
unsigned int m_moravecWindowWidth
The Moravec window width used to locate canditate tie-points (minimum 3, default: 21...
std::map< TFACTORYKEY, TFACTORY *, TKEYCOMPARE >::const_iterator const_iterator
unsigned int m_surfOctavesNumber
The number of octaves to generate, when applicable (default: 2, minimum:2).
TiePointsLocator Moravec strategy parameters.
unsigned int m_moravecCorrelationWindowWidth
The correlation window width used to correlate points between the images (minimum 3...
std::map< TFACTORYKEY, TFACTORY *, TKEYCOMPARE >::const_iterator end() const
It returns an iterator to the end of the container.
Bicubic interpolation method.
unsigned int m_moravecNoiseFilterIterations
The number of noise filter iterations, when applicable (used to remove image noise, zero will disable the noise Filter, default:1).
std::map< TFACTORYKEY, TFACTORY *, TKEYCOMPARE >::const_iterator begin() const
It returns an iterator to the first stored factory.
Bilinear interpolation method.
double m_surfMaxNormEuclideanDist
The maximum acceptable euclidean distance when matching features (when applicable), default:0.75, valid range: [0,1].
double m_moravecMinAbsCorrelation
The minimum acceptable absolute correlation value when matching features (when applicable), default:0.25, valid range: [0,1].