mirror of
https://github.com/dgirardeau/q3DMASC.git
synced 2026-08-29 16:40:49 +08:00
1441 lines
47 KiB
XML
1441 lines
47 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>Dialog</class>
|
|
<widget class="QDialog" name="Dialog">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>750</width>
|
|
<height>650</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>Dialog</string>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
|
<item>
|
|
<widget class="QTabWidget" name="tabWidget">
|
|
<property name="currentIndex">
|
|
<number>0</number>
|
|
</property>
|
|
<widget class="QWidget" name="TrainingPage">
|
|
<attribute name="title">
|
|
<string>Classes, Training and Test data</string>
|
|
</attribute>
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<item row="2" column="1">
|
|
<layout class="QFormLayout" name="formLayout_2">
|
|
<item row="1" column="0">
|
|
<widget class="QRadioButton" name="testWithPercentageRadioButton">
|
|
<property name="text">
|
|
<string>percentage of training data</string>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QDoubleSpinBox" name="testPercentageDoubleSpinBox">
|
|
<property name="singleStep">
|
|
<double>0.050000000000000</double>
|
|
</property>
|
|
<property name="value">
|
|
<double>0.200000000000000</double>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QRadioButton" name="testWithCloudRadioButton">
|
|
<property name="text">
|
|
<string>cloud</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QFrame" name="testCloudFrame">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_8">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QComboBox" name="testCloudComboBox">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Source cloud #1 (not labelled)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label_17">
|
|
<property name="styleSheet">
|
|
<string notr="true">color: red;</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Warning: points must be associated to the same class labels as the trained classes</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<layout class="QFormLayout" name="formLayout">
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="cloud1CloudComboBox">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Source cloud #1 (not labelled)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QCheckBox" name="sourceCloud2CheckBox">
|
|
<property name="text">
|
|
<string>source cloud #2 (not labelled)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QComboBox" name="clud2CloudComboBox">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Source cloud #2 (not labelled) - optional</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="label_3">
|
|
<property name="text">
|
|
<string>core points (labelled)</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QFrame" name="corePointsFrame">
|
|
<property name="frameShape">
|
|
<enum>QFrame::Box</enum>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<item>
|
|
<widget class="QComboBox" name="corePointsComboBox">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Labelled core points: coud be the same as cloud #1
|
|
but should ideally be smaller (e.g. a subsampled version of cloud #1)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QFormLayout" name="formLayout_3">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_4">
|
|
<property name="text">
|
|
<string>classification scalar field</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="classificationSFComboBox"/>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_5">
|
|
<property name="text">
|
|
<string>number of classes</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QLabel" name="classesCountLabel">
|
|
<property name="text">
|
|
<string>0</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="label_6">
|
|
<property name="text">
|
|
<string>classes</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QTableWidget" name="classesTableWidget">
|
|
<property name="maximumSize">
|
|
<size>
|
|
<width>16777215</width>
|
|
<height>120</height>
|
|
</size>
|
|
</property>
|
|
<property name="font">
|
|
<font>
|
|
<pointsize>7</pointsize>
|
|
</font>
|
|
</property>
|
|
<property name="showGrid">
|
|
<bool>true</bool>
|
|
</property>
|
|
<attribute name="horizontalHeaderStretchLastSection">
|
|
<bool>true</bool>
|
|
</attribute>
|
|
<attribute name="verticalHeaderVisible">
|
|
<bool>false</bool>
|
|
</attribute>
|
|
<row>
|
|
<property name="text">
|
|
<string>0</string>
|
|
</property>
|
|
</row>
|
|
<row>
|
|
<property name="text">
|
|
<string>1</string>
|
|
</property>
|
|
</row>
|
|
<column>
|
|
<property name="text">
|
|
<string>Class</string>
|
|
</property>
|
|
</column>
|
|
<column>
|
|
<property name="text">
|
|
<string>Count</string>
|
|
</property>
|
|
</column>
|
|
<item row="0" column="0">
|
|
<property name="text">
|
|
<string>0</string>
|
|
</property>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<property name="text">
|
|
<string>32651</string>
|
|
</property>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<property name="text">
|
|
<string>1</string>
|
|
</property>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<property name="text">
|
|
<string>465</string>
|
|
</property>
|
|
</item>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QCheckBox" name="usePrevFeaturesCheckBox">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Use previously computed features
|
|
(only if the cloud has already been processed)</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>USE PREVIOUSLY COMPUTED FEATURES </string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QCheckBox" name="sourceCloud1CheckBox">
|
|
<property name="text">
|
|
<string>source cloud #1 (not labelled)</string>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="4" column="1">
|
|
<layout class="QFormLayout" name="formLayout_4">
|
|
<item row="0" column="0">
|
|
<widget class="QCheckBox" name="contextualFeaturesCheckBox">
|
|
<property name="text">
|
|
<string>contextual cloud (labelled)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="contextFeaturesCloudComboBox">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Source cloud #1 (not labelled)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="6" column="1">
|
|
<layout class="QFormLayout" name="formLayout_5">
|
|
<item row="0" column="0">
|
|
<widget class="QCheckBox" name="homogenizeSampleCountCheckBox">
|
|
<property name="text">
|
|
<string>homogenize sample numbers for each class</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QFrame" name="sampleCountFrame">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
<item>
|
|
<widget class="QSpinBox" name="sampleCountSpinBox">
|
|
<property name="maximum">
|
|
<number>1000000000</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label_9">
|
|
<property name="text">
|
|
<string>(max = 0)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="4" column="0">
|
|
<widget class="QLabel" name="label">
|
|
<property name="text">
|
|
<string>Contextual features</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_7">
|
|
<property name="text">
|
|
<string>Training</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="Line" name="line">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="label_2">
|
|
<property name="text">
|
|
<string>Test data</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<widget class="Line" name="line_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="5" column="1">
|
|
<widget class="Line" name="line_3">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="6" column="0">
|
|
<widget class="QLabel" name="label_8">
|
|
<property name="text">
|
|
<string>Training data
|
|
pre-processing
|
|
and model testing</string>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="7" column="1">
|
|
<spacer name="verticalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Expanding</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="FeaturesPage">
|
|
<attribute name="title">
|
|
<string>Scales and Scalar/features selection</string>
|
|
</attribute>
|
|
<layout class="QFormLayout" name="formLayout_7">
|
|
<item row="0" column="0">
|
|
<widget class="QRadioButton" name="fromFileRadioButton">
|
|
<property name="text">
|
|
<string>From file</string>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QFrame" name="featuresFromFileGroupBox">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QPushButton" name="pushButton">
|
|
<property name="text">
|
|
<string>Load file</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label_11">
|
|
<property name="text">
|
|
<string><a href="https://www.cloudcompare.org/doc/wiki">see documentation</a></string>
|
|
</property>
|
|
<property name="openExternalLinks">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QRadioButton" name="guiModeRadioButton">
|
|
<property name="text">
|
|
<string>GUI mode (limited)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QFrame" name="featuresFromGUIGroupBox">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QGroupBox" name="scalesGroupBox">
|
|
<property name="title">
|
|
<string>Scales</string>
|
|
</property>
|
|
<layout class="QFormLayout" name="formLayout_6">
|
|
<item row="0" column="0">
|
|
<widget class="QRadioButton" name="scalesRampRadioButton">
|
|
<property name="text">
|
|
<string>ramp</string>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QFrame" name="scalesRampFrame">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QDoubleSpinBox" name="minScaleDoubleSpinBox">
|
|
<property name="toolTip">
|
|
<string>Mininum scale</string>
|
|
</property>
|
|
<property name="prefix">
|
|
<string>Min = </string>
|
|
</property>
|
|
<property name="decimals">
|
|
<number>6</number>
|
|
</property>
|
|
<property name="minimum">
|
|
<double>0.000001000000000</double>
|
|
</property>
|
|
<property name="maximum">
|
|
<double>1000000000.000000000000000</double>
|
|
</property>
|
|
<property name="singleStep">
|
|
<double>0.100000000000000</double>
|
|
</property>
|
|
<property name="value">
|
|
<double>0.100000000000000</double>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QDoubleSpinBox" name="stepScaleDoubleSpinBox">
|
|
<property name="toolTip">
|
|
<string>Step</string>
|
|
</property>
|
|
<property name="prefix">
|
|
<string>Step = </string>
|
|
</property>
|
|
<property name="decimals">
|
|
<number>6</number>
|
|
</property>
|
|
<property name="minimum">
|
|
<double>0.000001000000000</double>
|
|
</property>
|
|
<property name="maximum">
|
|
<double>1000000000.000000000000000</double>
|
|
</property>
|
|
<property name="singleStep">
|
|
<double>0.100000000000000</double>
|
|
</property>
|
|
<property name="value">
|
|
<double>0.100000000000000</double>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QDoubleSpinBox" name="maxScaleDoubleSpinBox">
|
|
<property name="toolTip">
|
|
<string>Max scale</string>
|
|
</property>
|
|
<property name="prefix">
|
|
<string>Max = </string>
|
|
</property>
|
|
<property name="decimals">
|
|
<number>6</number>
|
|
</property>
|
|
<property name="minimum">
|
|
<double>0.000001000000000</double>
|
|
</property>
|
|
<property name="maximum">
|
|
<double>1000000000.000000000000000</double>
|
|
</property>
|
|
<property name="value">
|
|
<double>1.000000000000000</double>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QRadioButton" name="scalesListRadioButton">
|
|
<property name="toolTip">
|
|
<string>Inp</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>list</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QLineEdit" name="scalesListLineEdit">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="toolTip">
|
|
<string>Input scales as a list of values (separated by a space character)</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="pointBasedFeaturesGroupBox">
|
|
<property name="title">
|
|
<string>Point based features</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_2">
|
|
<item row="0" column="0">
|
|
<widget class="QCheckBox" name="pbfIntensityCheckBox">
|
|
<property name="text">
|
|
<string>intensity</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QCheckBox" name="pbfReturnCountCheckBox">
|
|
<property name="text">
|
|
<string>number of returns</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="2">
|
|
<widget class="QCheckBox" name="pbfReturnNumberCheckBox">
|
|
<property name="text">
|
|
<string>return number</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QCheckBox" name="pbfEchoRatioCheckBox">
|
|
<property name="toolTip">
|
|
<string>echo ratio = return number / number of returns</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>echo ratio</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QCheckBox" name="pbfRGBCheckBox">
|
|
<property name="text">
|
|
<string>RGB</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="2">
|
|
<widget class="QCheckBox" name="pbfDipAngleCheckBox">
|
|
<property name="text">
|
|
<string>dip angle</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="nnBasedFeaturesGroupBox">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="title">
|
|
<string>Neigborhood based features</string>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
<item>
|
|
<widget class="QListWidget" name="nnBasedFeaturesListWidget">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="selectionMode">
|
|
<enum>QAbstractItemView::MultiSelection</enum>
|
|
</property>
|
|
<item>
|
|
<property name="text">
|
|
<string>option 1</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>option 2</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
</item>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="contextualFeaturesGroupBox">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="title">
|
|
<string>Contextual features</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
<item>
|
|
<widget class="QListWidget" name="nnBasedFeaturesListWidget_2">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="selectionMode">
|
|
<enum>QAbstractItemView::MultiSelection</enum>
|
|
</property>
|
|
<item>
|
|
<property name="text">
|
|
<string>Ground</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>Water</string>
|
|
</property>
|
|
</item>
|
|
<item>
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
</item>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
<item>
|
|
<widget class="QLabel" name="label_10">
|
|
<property name="text">
|
|
<string>Nearest neighbors</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSpinBox" name="cfKnnSpinBox">
|
|
<property name="toolTip">
|
|
<string>The vertical distance will be computed to the 'k' nearest neighbors</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="dualCloudFeaturesGroupBox">
|
|
<property name="toolTip">
|
|
<string>Requires two source clouds</string>
|
|
</property>
|
|
<property name="title">
|
|
<string>Dual-cloud features</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>false</bool>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_3">
|
|
<item row="0" column="0">
|
|
<widget class="QCheckBox" name="checkBox">
|
|
<property name="text">
|
|
<string>mean elveation difference</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QCheckBox" name="checkBox_4">
|
|
<property name="text">
|
|
<string>ratio of mean intensities</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QCheckBox" name="checkBox_3">
|
|
<property name="text">
|
|
<string>standard deviation of cloud #1</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QCheckBox" name="checkBox_2">
|
|
<property name="text">
|
|
<string>standard deviation of cloud #2</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="ClassifierPage">
|
|
<attribute name="title">
|
|
<string>Classifier and training mode</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout" name="verticalLayout_7">
|
|
<item>
|
|
<widget class="QGroupBox" name="randomTreesGroupBox">
|
|
<property name="title">
|
|
<string>Random Trees</string>
|
|
</property>
|
|
<layout class="QFormLayout" name="formLayout_9">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_13">
|
|
<property name="text">
|
|
<string>Number of trees</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QSpinBox" name="treeCountSpinBox">
|
|
<property name="minimum">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>10000</number>
|
|
</property>
|
|
<property name="singleStep">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>200</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="label_14">
|
|
<property name="text">
|
|
<string>Tree depth</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QSpinBox" name="treeDepthSpinBox">
|
|
<property name="minimum">
|
|
<number>1</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>200</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>25</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="trainingModeGroupBox">
|
|
<property name="title">
|
|
<string>Training mode</string>
|
|
</property>
|
|
<layout class="QFormLayout" name="formLayout_8">
|
|
<item row="0" column="0">
|
|
<widget class="QRadioButton" name="simpleTrainingRadioButton">
|
|
<property name="text">
|
|
<string>Simple training</string>
|
|
</property>
|
|
<property name="checked">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QCheckBox" name="simpleFeatAndScaleSelectCheckBox">
|
|
<property name="toolTip">
|
|
<string>Select the most contributive features and scales
|
|
(in order to reduce computation time and reduce the classifier size)</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Feature and scale selection by importance</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QRadioButton" name="kFoldCrossValidRadioButton">
|
|
<property name="text">
|
|
<string>k-fold Crossvalidation</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QFrame" name="kValueFrame">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="frameShape">
|
|
<enum>QFrame::StyledPanel</enum>
|
|
</property>
|
|
<property name="frameShadow">
|
|
<enum>QFrame::Raised</enum>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
|
<item>
|
|
<widget class="QLabel" name="label_15">
|
|
<property name="text">
|
|
<string>k</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSpinBox" name="kValueSpinBox">
|
|
<property name="minimum">
|
|
<number>2</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QCheckBox" name="kValueFeatAndScaleSelectCheckBox">
|
|
<property name="toolTip">
|
|
<string>Select the most contributive features and scales
|
|
(in order to reduce computation time and reduce the classifier size)</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Feature and scale selection</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QCheckBox" name="treeDepthSelectCheckBox">
|
|
<property name="toolTip">
|
|
<string>Select the most contributive features and scales
|
|
(in order to reduce computation time and reduce the classifier size)</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Tree depth selection</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_3">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>253</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="SpeedPage">
|
|
<attribute name="title">
|
|
<string>Speed features</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout" name="verticalLayout_9">
|
|
<item>
|
|
<widget class="QGroupBox" name="pyramidSubsamplingGroupBox">
|
|
<property name="title">
|
|
<string>Pyramidal subsampling</string>
|
|
</property>
|
|
<property name="checkable">
|
|
<bool>true</bool>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
|
<item>
|
|
<widget class="QLabel" name="label_12">
|
|
<property name="text">
|
|
<string>Pyramidal levels</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSpinBox" name="pyramideLevelsSpinBox">
|
|
<property name="minimum">
|
|
<number>2</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>10</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>3</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox">
|
|
<property name="title">
|
|
<string>Octree-based feature computation</string>
|
|
</property>
|
|
<layout class="QFormLayout" name="formLayout_10">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_18">
|
|
<property name="text">
|
|
<string>Min. scale</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QDoubleSpinBox" name="octreeMinScaleDoubleSpinBox">
|
|
<property name="decimals">
|
|
<number>3</number>
|
|
</property>
|
|
<property name="minimum">
|
|
<double>0.001000000000000</double>
|
|
</property>
|
|
<property name="maximum">
|
|
<double>1000000.000000000000000</double>
|
|
</property>
|
|
<property name="singleStep">
|
|
<double>0.100000000000000</double>
|
|
</property>
|
|
<property name="value">
|
|
<double>0.500000000000000</double>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_19">
|
|
<property name="text">
|
|
<string>Depth</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QSpinBox" name="octreeDepthSpinBox">
|
|
<property name="minimum">
|
|
<number>1</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>21</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>5</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_4">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>412</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="OutputPage">
|
|
<attribute name="title">
|
|
<string>Outputs</string>
|
|
</attribute>
|
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox_2">
|
|
<property name="title">
|
|
<string>Output display</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_4">
|
|
<item row="0" column="0">
|
|
<widget class="QCheckBox" name="showConfusionMatrixCheckBox">
|
|
<property name="text">
|
|
<string>Confusion matrix</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QCheckBox" name="showBarChartCheckBox">
|
|
<property name="text">
|
|
<string>Bar chart of feature importance</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QFrame" name="barChatFeatureGroupBox">
|
|
<property name="enabled">
|
|
<bool>false</bool>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
|
<item>
|
|
<widget class="QLabel" name="label_16">
|
|
<property name="text">
|
|
<string>number of features</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSpinBox" name="displayedFeatureCountSpinBox">
|
|
<property name="toolTip">
|
|
<string>Number of features to show in the bar chart</string>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>1</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QCheckBox" name="saveCorePointsCheckBox">
|
|
<property name="toolTip">
|
|
<string>Can be re-used in 3DMASC "Create" to avoid re-computing the features</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Save training core points with computed features as scalars </string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>449</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QDialogButtonBox" name="buttonBox">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="standardButtons">
|
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<resources/>
|
|
<connections>
|
|
<connection>
|
|
<sender>buttonBox</sender>
|
|
<signal>accepted()</signal>
|
|
<receiver>Dialog</receiver>
|
|
<slot>accept()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>248</x>
|
|
<y>254</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>157</x>
|
|
<y>274</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>buttonBox</sender>
|
|
<signal>rejected()</signal>
|
|
<receiver>Dialog</receiver>
|
|
<slot>reject()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>316</x>
|
|
<y>260</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>286</x>
|
|
<y>274</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>sourceCloud2CheckBox</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>clud2CloudComboBox</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>254</x>
|
|
<y>76</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>534</x>
|
|
<y>77</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>contextualFeaturesCheckBox</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>contextFeaturesCloudComboBox</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>220</x>
|
|
<y>511</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>502</x>
|
|
<y>512</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>testWithPercentageRadioButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>testPercentageDoubleSpinBox</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>240</x>
|
|
<y>407</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>532</x>
|
|
<y>408</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>homogenizeSampleCountCheckBox</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>sampleCountFrame</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>267</x>
|
|
<y>580</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>462</x>
|
|
<y>582</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>fromFileRadioButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>featuresFromFileGroupBox</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>51</x>
|
|
<y>48</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>426</x>
|
|
<y>51</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>guiModeRadioButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>featuresFromGUIGroupBox</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>75</x>
|
|
<y>77</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>426</x>
|
|
<y>415</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>simpleTrainingRadioButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>simpleFeatAndScaleSelectCheckBox</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>141</x>
|
|
<y>319</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>331</x>
|
|
<y>319</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>kFoldCrossValidRadioButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>kValueFrame</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>141</x>
|
|
<y>379</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>297</x>
|
|
<y>414</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>showBarChartCheckBox</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>barChatFeatureGroupBox</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>155</x>
|
|
<y>459</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>329</x>
|
|
<y>461</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>testWithCloudRadioButton</sender>
|
|
<signal>toggled(bool)</signal>
|
|
<receiver>testCloudFrame</receiver>
|
|
<slot>setEnabled(bool)</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>147</x>
|
|
<y>370</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>505</x>
|
|
<y>385</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
</connections>
|
|
</ui>
|