diff --git a/mainDialog.ui b/mainDialog.ui
new file mode 100644
index 0000000..e7b7fc7
--- /dev/null
+++ b/mainDialog.ui
@@ -0,0 +1,110 @@
+
+
+ Dialog
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Dialog
+
+
+
+
+ 30
+ 240
+ 341
+ 32
+
+
+
+ Qt::Horizontal
+
+
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+
+
+
+ 20
+ 50
+ 205
+ 54
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+ Source cloud #1 (not labelled)
+
+
+
+ -
+
+
+ color: red;
+
+
+ Warning: points must be associated to the
+same class labels as the trained classes
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+
+
+
+ buttonBox
+ accepted()
+ Dialog
+ accept()
+
+
+ 248
+ 254
+
+
+ 157
+ 274
+
+
+
+
+ buttonBox
+ rejected()
+ Dialog
+ reject()
+
+
+ 316
+ 260
+
+
+ 286
+ 274
+
+
+
+
+
diff --git a/qCanupo2Plugin.cpp b/qCanupo2Plugin.cpp
index 7e79772..4c8a807 100644
--- a/qCanupo2Plugin.cpp
+++ b/qCanupo2Plugin.cpp
@@ -32,7 +32,7 @@ void qCanupo2Plugin::onNewSelection(const ccHObject::Container& selectedEntities
// m_action->setEnabled(!selectedEntities.empty());
}
-void qCanupo2Plugin::getActions(QActionGroup& group)
+QList qCanupo2Plugin::getActions()
{
if (!m_action)
{
@@ -43,7 +43,7 @@ void qCanupo2Plugin::getActions(QActionGroup& group)
connect(m_action, SIGNAL(triggered()), this, SLOT(doAction()));
}
- group.addAction(m_action);
+ return QList{m_action};
}
void qCanupo2Plugin::doAction()
diff --git a/qCanupo2Plugin.h b/qCanupo2Plugin.h
index 412cbc8..9cc2a97 100644
--- a/qCanupo2Plugin.h
+++ b/qCanupo2Plugin.h
@@ -41,7 +41,7 @@ public:
//inherited from ccStdPluginInterface
void onNewSelection(const ccHObject::Container& selectedEntities) override;
- virtual void getActions(QActionGroup& group) override;
+ virtual QList getActions() override;
protected slots:
diff --git a/training.ui b/training.ui
new file mode 100644
index 0000000..576abc4
--- /dev/null
+++ b/training.ui
@@ -0,0 +1,1440 @@
+
+
+ Dialog
+
+
+
+ 0
+ 0
+ 750
+ 650
+
+
+
+ Dialog
+
+
+ -
+
+
+ 0
+
+
+
+ Classes, Training and Test data
+
+
+
-
+
+
-
+
+
+ percentage of training data
+
+
+ true
+
+
+
+ -
+
+
+ 0.050000000000000
+
+
+ 0.200000000000000
+
+
+
+ -
+
+
+ cloud
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Source cloud #1 (not labelled)
+
+
+
+ -
+
+
+ color: red;
+
+
+ Warning: points must be associated to the same class labels as the trained classes
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Source cloud #1 (not labelled)
+
+
+
+ -
+
+
+ source cloud #2 (not labelled)
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+ Source cloud #2 (not labelled) - optional
+
+
+
+ -
+
+
+ core points (labelled)
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ QFrame::Box
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Labelled core points: coud be the same as cloud #1
+but should ideally be smaller (e.g. a subsampled version of cloud #1)
+
+
+
+ -
+
+
-
+
+
+ classification scalar field
+
+
+
+ -
+
+
+ -
+
+
+ number of classes
+
+
+
+ -
+
+
+ 0
+
+
+
+ -
+
+
+ classes
+
+
+
+ -
+
+
+
+ 16777215
+ 120
+
+
+
+
+ 7
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ Class
+
+
+
+
+ Count
+
+
+ -
+
+ 0
+
+
+ -
+
+ 32651
+
+
+ -
+
+ 1
+
+
+ -
+
+ 465
+
+
+
+
+
+
+ -
+
+
+ false
+
+
+ Use previously computed features
+(only if the cloud has already been processed)
+
+
+ USE PREVIOUSLY COMPUTED FEATURES
+
+
+
+
+
+
+ -
+
+
+ source cloud #1 (not labelled)
+
+
+ true
+
+
+
+
+
+ -
+
+
-
+
+
+ contextual cloud (labelled)
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+ Source cloud #1 (not labelled)
+
+
+
+
+
+ -
+
+
-
+
+
+ homogenize sample numbers for each class
+
+
+
+ -
+
+
+ false
+
+
+
-
+
+
+ 1000000000
+
+
+
+ -
+
+
+ (max = 0)
+
+
+
+
+
+
+
+
+ -
+
+
+ Contextual features
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+
+
+
+ -
+
+
+ Training
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Test data
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Training data
+pre-processing
+and model testing
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Expanding
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+ Scales and Scalar/features selection
+
+
+ -
+
+
+ From file
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Load file
+
+
+
+ -
+
+
+ <a href="https://www.cloudcompare.org/doc/wiki">see documentation</a>
+
+
+ true
+
+
+
+
+
+
+ -
+
+
+ GUI mode (limited)
+
+
+
+ -
+
+
+ false
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Scales
+
+
+
-
+
+
+ ramp
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ Mininum scale
+
+
+ Min =
+
+
+ 6
+
+
+ 0.000001000000000
+
+
+ 1000000000.000000000000000
+
+
+ 0.100000000000000
+
+
+ 0.100000000000000
+
+
+
+ -
+
+
+ Step
+
+
+ Step =
+
+
+ 6
+
+
+ 0.000001000000000
+
+
+ 1000000000.000000000000000
+
+
+ 0.100000000000000
+
+
+ 0.100000000000000
+
+
+
+ -
+
+
+ Max scale
+
+
+ Max =
+
+
+ 6
+
+
+ 0.000001000000000
+
+
+ 1000000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+
+
+
+ -
+
+
+ Inp
+
+
+ list
+
+
+
+ -
+
+
+ false
+
+
+ Input scales as a list of values (separated by a space character)
+
+
+
+
+
+
+ -
+
+
+ Point based features
+
+
+
-
+
+
+ intensity
+
+
+
+ -
+
+
+ number of returns
+
+
+
+ -
+
+
+ return number
+
+
+
+ -
+
+
+ echo ratio = return number / number of returns
+
+
+ echo ratio
+
+
+
+ -
+
+
+ RGB
+
+
+
+ -
+
+
+ dip angle
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Neigborhood based features
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ QAbstractItemView::MultiSelection
+
+
-
+
+ option 1
+
+
+ -
+
+ option 2
+
+
+ -
+
+ ...
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Contextual features
+
+
+ true
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ QAbstractItemView::MultiSelection
+
+
-
+
+ Ground
+
+
+ -
+
+ Water
+
+
+ -
+
+ ...
+
+
+
+
+ -
+
+
-
+
+
+ Nearest neighbors
+
+
+
+ -
+
+
+ The vertical distance will be computed to the 'k' nearest neighbors
+
+
+
+
+
+
+
+
+ -
+
+
+ Requires two source clouds
+
+
+ Dual-cloud features
+
+
+ true
+
+
+ false
+
+
+
-
+
+
+ mean elveation difference
+
+
+
+ -
+
+
+ ratio of mean intensities
+
+
+
+ -
+
+
+ standard deviation of cloud #1
+
+
+
+ -
+
+
+ standard deviation of cloud #2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Classifier and training mode
+
+
+ -
+
+
+ Random Trees
+
+
+
-
+
+
+ Number of trees
+
+
+
+ -
+
+
+ 10
+
+
+ 10000
+
+
+ 10
+
+
+ 200
+
+
+
+ -
+
+
+ Tree depth
+
+
+
+ -
+
+
+ 1
+
+
+ 200
+
+
+ 25
+
+
+
+
+
+
+ -
+
+
+ Training mode
+
+
+
-
+
+
+ Simple training
+
+
+ true
+
+
+
+ -
+
+
+ Select the most contributive features and scales
+(in order to reduce computation time and reduce the classifier size)
+
+
+ Feature and scale selection by importance
+
+
+
+ -
+
+
+ k-fold Crossvalidation
+
+
+
+ -
+
+
+ false
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
-
+
+
+ k
+
+
+
+ -
+
+
+ 2
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+ Select the most contributive features and scales
+(in order to reduce computation time and reduce the classifier size)
+
+
+ Feature and scale selection
+
+
+
+ -
+
+
+ Select the most contributive features and scales
+(in order to reduce computation time and reduce the classifier size)
+
+
+ Tree depth selection
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 253
+
+
+
+
+
+
+
+
+ Speed features
+
+
+ -
+
+
+ Pyramidal subsampling
+
+
+ true
+
+
+
-
+
+
+ Pyramidal levels
+
+
+
+ -
+
+
+ 2
+
+
+ 10
+
+
+ 3
+
+
+
+
+
+
+ -
+
+
+ Octree-based feature computation
+
+
+
-
+
+
+ Min. scale
+
+
+
+ -
+
+
+ 3
+
+
+ 0.001000000000000
+
+
+ 1000000.000000000000000
+
+
+ 0.100000000000000
+
+
+ 0.500000000000000
+
+
+
+ -
+
+
+ Depth
+
+
+
+ -
+
+
+ 1
+
+
+ 21
+
+
+ 5
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 412
+
+
+
+
+
+
+
+
+ Outputs
+
+
+ -
+
+
+ Output display
+
+
+
-
+
+
+ Confusion matrix
+
+
+
+ -
+
+
+ Bar chart of feature importance
+
+
+
+ -
+
+
+ false
+
+
+
-
+
+
+ number of features
+
+
+
+ -
+
+
+ Number of features to show in the bar chart
+
+
+ 1
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Can be re-used in 3DMASC "Create" to avoid re-computing the features
+
+
+ Save training core points with computed features as scalars
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 449
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+
+
+
+
+
+
+ buttonBox
+ accepted()
+ Dialog
+ accept()
+
+
+ 248
+ 254
+
+
+ 157
+ 274
+
+
+
+
+ buttonBox
+ rejected()
+ Dialog
+ reject()
+
+
+ 316
+ 260
+
+
+ 286
+ 274
+
+
+
+
+ sourceCloud2CheckBox
+ toggled(bool)
+ clud2CloudComboBox
+ setEnabled(bool)
+
+
+ 254
+ 76
+
+
+ 534
+ 77
+
+
+
+
+ contextualFeaturesCheckBox
+ toggled(bool)
+ contextFeaturesCloudComboBox
+ setEnabled(bool)
+
+
+ 220
+ 511
+
+
+ 502
+ 512
+
+
+
+
+ testWithPercentageRadioButton
+ toggled(bool)
+ testPercentageDoubleSpinBox
+ setEnabled(bool)
+
+
+ 240
+ 407
+
+
+ 532
+ 408
+
+
+
+
+ homogenizeSampleCountCheckBox
+ toggled(bool)
+ sampleCountFrame
+ setEnabled(bool)
+
+
+ 267
+ 580
+
+
+ 462
+ 582
+
+
+
+
+ fromFileRadioButton
+ toggled(bool)
+ featuresFromFileGroupBox
+ setEnabled(bool)
+
+
+ 51
+ 48
+
+
+ 426
+ 51
+
+
+
+
+ guiModeRadioButton
+ toggled(bool)
+ featuresFromGUIGroupBox
+ setEnabled(bool)
+
+
+ 75
+ 77
+
+
+ 426
+ 415
+
+
+
+
+ simpleTrainingRadioButton
+ toggled(bool)
+ simpleFeatAndScaleSelectCheckBox
+ setEnabled(bool)
+
+
+ 141
+ 319
+
+
+ 331
+ 319
+
+
+
+
+ kFoldCrossValidRadioButton
+ toggled(bool)
+ kValueFrame
+ setEnabled(bool)
+
+
+ 141
+ 379
+
+
+ 297
+ 414
+
+
+
+
+ showBarChartCheckBox
+ toggled(bool)
+ barChatFeatureGroupBox
+ setEnabled(bool)
+
+
+ 155
+ 459
+
+
+ 329
+ 461
+
+
+
+
+ testWithCloudRadioButton
+ toggled(bool)
+ testCloudFrame
+ setEnabled(bool)
+
+
+ 147
+ 370
+
+
+ 505
+ 385
+
+
+
+
+