[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