[pktools] 238/375: balance in pksvm_gui
Bas Couwenberg
sebastic at xs4all.nl
Wed Dec 3 21:54:17 UTC 2014
This is an automated email from the git hooks/post-receive script.
sebastic-guest pushed a commit to branch upstream-master
in repository pktools.
commit ba8a6e17d293207ee3b15bdc7c4e260bf203a347
Author: Pieter Kempeneers <kempenep at gmail.com>
Date: Tue Apr 15 19:04:26 2014 +0200
balance in pksvm_gui
---
qt/pkextract_gui/mainwindow.cpp | 22 +++++----
qt/pkextract_gui/mainwindow.ui | 3 +-
qt/pksvm_gui/mainwindow.cpp | 31 +++++++++++-
qt/pksvm_gui/mainwindow.h | 4 ++
qt/pksvm_gui/mainwindow.ui | 102 +++++++++++++++++++++++++++-------------
src/apps/pkextract.cc | 2 +-
6 files changed, 118 insertions(+), 46 deletions(-)
diff --git a/qt/pkextract_gui/mainwindow.cpp b/qt/pkextract_gui/mainwindow.cpp
index 95e22e9..e2e15ac 100644
--- a/qt/pkextract_gui/mainwindow.cpp
+++ b/qt/pkextract_gui/mainwindow.cpp
@@ -126,16 +126,18 @@ void MainWindow::on_pushButton_run_clicked()
throw(qsError);
}
- QList<QComboBox*> qcomboBoxList = this->findChildren<QComboBox *>();
-
- for(QList<QComboBox*>::ConstIterator qcbit=qcomboBoxList.begin();qcbit!=qcomboBoxList.end();++qcbit){
- QString qsOption;
- qsOption+=" --";
- qsOption+=(*qcbit)->objectName();
- program+=qsOption;
- program+=" ";
- program+=QString::number((*qcbit)->currentIndex());
- }
+ program+=" --f "+ui->f->currentText();
+ program+=" --rule "+ui->rule->currentText();
+// QList<QComboBox*> qcomboBoxList = this->findChildren<QComboBox *>();
+
+// for(QList<QComboBox*>::ConstIterator qcbit=qcomboBoxList.begin();qcbit!=qcomboBoxList.end();++qcbit){
+// QString qsOption;
+// qsOption+=" --";
+// qsOption+=(*qcbit)->objectName();
+// program+=qsOption;
+// program+=" ";
+// program+=QString::number((*qcbit)->currentIndex());
+// }
QList<QLineEdit*> qlineEditList = this->findChildren<QLineEdit *>();
diff --git a/qt/pkextract_gui/mainwindow.ui b/qt/pkextract_gui/mainwindow.ui
index f63c9ef..90bffaa 100644
--- a/qt/pkextract_gui/mainwindow.ui
+++ b/qt/pkextract_gui/mainwindow.ui
@@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
- <string>pksvm</string>
+ <string>pkextract</string>
</property>
<widget class="QWidget" name="centralWidget">
<property name="minimumSize">
@@ -265,7 +265,6 @@
</layout>
</item>
</layout>
- <zorder></zorder>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
diff --git a/qt/pksvm_gui/mainwindow.cpp b/qt/pksvm_gui/mainwindow.cpp
index 79e050f..e73668a 100644
--- a/qt/pksvm_gui/mainwindow.cpp
+++ b/qt/pksvm_gui/mainwindow.cpp
@@ -53,6 +53,7 @@ void MainWindow::setDefaults()
//tab input/output
ui->msknodata->setText("0");
ui->nodata->setText("0");
+ ui->ct->clear();
//tab classifier
ui->coef0->setText("0");
ui->nu->setText("0.5");
@@ -88,6 +89,13 @@ void MainWindow::on_actionInput_triggered()
ui->input->setText(qsinput);
}
+
+void MainWindow::on_actionColor_table_triggered()
+{
+ QString qsct = QFileDialog::getOpenFileName(this, "Color table");
+ ui->ct->setText(qsct);
+}
+
void MainWindow::on_toolButton_input_clicked()
{
on_actionInput_triggered();
@@ -108,6 +116,11 @@ void MainWindow::on_toolButton_training_clicked()
on_actionTraining_triggered();
}
+void MainWindow::on_toolButton_ct_clicked()
+{
+ on_actionColor_table_triggered();
+}
+
void MainWindow::on_training_returnPressed()
{
//eventually read classes from vector file to fill in table...
@@ -115,10 +128,11 @@ void MainWindow::on_training_returnPressed()
void MainWindow::setClassTable(const QStringList &labels)
{
- QStandardItemModel *model = new QStandardItemModel(labels.size(),3,this); //nlabel rows and 3 columns
+ QStandardItemModel *model = new QStandardItemModel(labels.size(),4,this); //nlabel rows and 4 columns
model->setHorizontalHeaderItem(0, new QStandardItem(QString("label name")));
model->setHorizontalHeaderItem(1, new QStandardItem(QString("class nr")));
model->setHorizontalHeaderItem(2, new QStandardItem(QString("prior prob")));
+ model->setHorizontalHeaderItem(3, new QStandardItem(QString("balance (optional)")));
for(int ilabel=0;ilabel<labels.size();++ilabel){
QStandardItem *firstCol = new QStandardItem(QString(labels[ilabel]));
model->setItem(ilabel,0,firstCol);
@@ -154,6 +168,7 @@ void MainWindow::on_pushButton_run_clicked()
// }
// }
+ QStringList qslBalance;
for(int irow=0;irow<ui->tableView_labels->model()->rowCount();++irow){
QString qsOption;
qsOption+=" --class ";
@@ -163,7 +178,21 @@ void MainWindow::on_pushButton_run_clicked()
qsOption+=" --prior ";
qsOption+=ui->tableView_labels->model()->data(ui->tableView_labels->model()->index(irow,2)).toString();
program+=qsOption;
+ QString qsbalance=ui->tableView_labels->model()->data(ui->tableView_labels->model()->index(irow,3)).toString();
+ if(!qsbalance.isEmpty())
+ qslBalance << qsbalance;
}
+ for(int irow=0;irow<ui->tableView_labels->model()->rowCount();++irow){
+ QString qsOption;
+ qsOption+=" --balance ";
+ if(qslBalance.size()==ui->tableView_labels->model()->rowCount())
+ qsOption+=qslBalance[irow];
+ else
+ qsOption+=qslBalance[0];
+ program+=qsOption;
+ }
+
+
QList<QComboBox*> qcomboBoxList = this->findChildren<QComboBox *>();
for(QList<QComboBox*>::ConstIterator qcbit=qcomboBoxList.begin();qcbit!=qcomboBoxList.end();++qcbit){
diff --git a/qt/pksvm_gui/mainwindow.h b/qt/pksvm_gui/mainwindow.h
index 4e3d960..3c5fdd9 100644
--- a/qt/pksvm_gui/mainwindow.h
+++ b/qt/pksvm_gui/mainwindow.h
@@ -61,6 +61,10 @@ private slots:
void on_commandLinkButtonPrepareTable_clicked();
+ void on_actionColor_table_triggered();
+
+ void on_toolButton_ct_clicked();
+
private:
void setClassTable(const QStringList &labels);
void setDefaults();
diff --git a/qt/pksvm_gui/mainwindow.ui b/qt/pksvm_gui/mainwindow.ui
index 6c79e2f..f65656f 100644
--- a/qt/pksvm_gui/mainwindow.ui
+++ b/qt/pksvm_gui/mainwindow.ui
@@ -18,7 +18,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
- <number>3</number>
+ <number>1</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
@@ -145,16 +145,13 @@
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<layout class="QGridLayout" name="gridLayout_2">
- <item row="1" column="5">
- <widget class="QLineEdit" name="msknodata"/>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="input"/>
+ <item row="2" column="5">
+ <widget class="QLineEdit" name="nodata"/>
</item>
- <item row="0" column="0">
- <widget class="QLabel" name="label_3">
+ <item row="1" column="4">
+ <widget class="QLabel" name="label_14">
<property name="text">
- <string>Input data</string>
+ <string>msknodata</string>
</property>
</widget>
</item>
@@ -172,10 +169,10 @@
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_15">
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_13">
<property name="text">
- <string>Output data</string>
+ <string>Mask image</string>
</property>
</widget>
</item>
@@ -186,25 +183,31 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_13">
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_15">
<property name="text">
- <string>Mask image</string>
+ <string>Output data</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="mask"/>
</item>
- <item row="2" column="5">
- <widget class="QLineEdit" name="nodata"/>
+ <item row="1" column="5">
+ <widget class="QLineEdit" name="msknodata"/>
</item>
- <item row="1" column="4">
- <widget class="QLabel" name="label_14">
- <property name="text">
- <string>msknodata</string>
+ <item row="1" column="3">
+ <spacer name="horizontalSpacer_15">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- </widget>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="output"/>
@@ -216,18 +219,32 @@
</property>
</widget>
</item>
- <item row="1" column="3">
- <spacer name="horizontalSpacer_15">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="input"/>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Input data</string>
</property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_22">
+ <property name="text">
+ <string>color table</string>
</property>
- </spacer>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="ct"/>
+ </item>
+ <item row="3" column="2">
+ <widget class="QToolButton" name="toolButton_ct">
+ <property name="text">
+ <string>...</string>
+ </property>
+ </widget>
</item>
</layout>
</item>
@@ -455,6 +472,7 @@
<addaction name="actionTraining"/>
<addaction name="actionMask"/>
<addaction name="actionOutput"/>
+ <addaction name="actionColor_table"/>
</widget>
<addaction name="menuFile"/>
</widget>
@@ -471,21 +489,41 @@
<property name="text">
<string>Input</string>
</property>
+ <property name="shortcut">
+ <string>Alt+I</string>
+ </property>
</action>
<action name="actionTraining">
<property name="text">
<string>Training</string>
</property>
+ <property name="shortcut">
+ <string>Alt+T</string>
+ </property>
</action>
<action name="actionMask">
<property name="text">
<string>Mask</string>
</property>
+ <property name="shortcut">
+ <string>Alt+M</string>
+ </property>
</action>
<action name="actionOutput">
<property name="text">
<string>Output</string>
</property>
+ <property name="shortcut">
+ <string>Alt+O</string>
+ </property>
+ </action>
+ <action name="actionColor_table">
+ <property name="text">
+ <string>Color table</string>
+ </property>
+ <property name="shortcut">
+ <string>Alt+C</string>
+ </property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
diff --git a/src/apps/pkextract.cc b/src/apps/pkextract.cc
index b79cc2c..46bf4ae 100644
--- a/src/apps/pkextract.cc
+++ b/src/apps/pkextract.cc
@@ -42,7 +42,7 @@ using namespace std;
int main(int argc, char *argv[])
{
- Optionpk<string> image_opt("i", "image", "Input image file");
+ Optionpk<string> image_opt("i", "input", "Input image file");
Optionpk<string> sample_opt("s", "sample", "Input sample vector file or class file (e.g. Corine CLC) if class option is set");
Optionpk<string> layer_opt("ln", "ln", "layer name(s) in sample (leave empty to select all)");
Optionpk<string> mask_opt("m", "mask", "Mask image file");
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pktools.git
More information about the Pkg-grass-devel
mailing list