[pktools] 271/375: qt gui, nodata pkdiff_gui
Bas Couwenberg
sebastic at xs4all.nl
Wed Dec 3 21:54:21 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 87ea4a11c80537046fe2d12fe8793f9467c2c4f6
Author: Pieter Kempeneers <kempenep at gmail.com>
Date: Thu May 15 16:32:24 2014 +0200
qt gui, nodata pkdiff_gui
---
qt/pkcrop_gui/mainwindow.cc | 2 +-
qt/pkcrop_gui/mainwindow.ui | 2 +-
qt/pkdiff_gui/mainwindow.cpp | 36 +++++++++++------------
qt/pkdiff_gui/mainwindow.h | 2 --
qt/pkdiff_gui/mainwindow.ui | 63 +++++++++++++++++++++++------------------
qt/pkextract_gui/mainwindow.cpp | 29 ++++++++++++++-----
qt/pkextract_gui/mainwindow.ui | 28 +++++++++---------
qt/pksvm_gui/mainwindow.ui | 2 +-
src/apps/pkextract.cc | 34 ++++++++++++----------
9 files changed, 110 insertions(+), 88 deletions(-)
diff --git a/qt/pkcrop_gui/mainwindow.cc b/qt/pkcrop_gui/mainwindow.cc
index b11cd42..5b1889a 100644
--- a/qt/pkcrop_gui/mainwindow.cc
+++ b/qt/pkcrop_gui/mainwindow.cc
@@ -262,7 +262,7 @@ void MainWindow::on_toolButton_Run_clicked()
myProcess->start(program);
myProcess->setProcessChannelMode(QProcess::MergedChannels);
myProcess->waitForFinished(-1);
- QString p_stderr = myProcess->readAllStandardError();
+ QString p_stderr = myProcess->readyReadStandardError();
if(!p_stderr.isEmpty()){
QMessageBox msgBox;
msgBox.setText(p_stderr);
diff --git a/qt/pkcrop_gui/mainwindow.ui b/qt/pkcrop_gui/mainwindow.ui
index 39f167c..a069a32 100644
--- a/qt/pkcrop_gui/mainwindow.ui
+++ b/qt/pkcrop_gui/mainwindow.ui
@@ -18,7 +18,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
- <number>0</number>
+ <number>3</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
diff --git a/qt/pkdiff_gui/mainwindow.cpp b/qt/pkdiff_gui/mainwindow.cpp
index 0123eec..c86831d 100644
--- a/qt/pkdiff_gui/mainwindow.cpp
+++ b/qt/pkdiff_gui/mainwindow.cpp
@@ -30,7 +30,7 @@ MainWindow::MainWindow(QWidget *parent) :
{
ui->setupUi(this);
QStringList formatlist;
- formatlist << "ESRI Shapefile" << "SQLite";
+ formatlist << "SQLite" << "ESRI Shapefile";
ui->f->addItems(formatlist);
setDefaults();
}
@@ -42,12 +42,12 @@ MainWindow::~MainWindow()
void MainWindow::setDefaults()
{
- ui->label->setText("label");
//tab input/output
ui->input->clear();
+ ui->reference->clear();
ui->msknodata->setText("0");
ui->output->clear();
- ui->label->setText("label");
+ ui->confusion->setChecked(false);
}
void MainWindow::on_actionReference_triggered()
@@ -114,27 +114,27 @@ void MainWindow::on_pushButton_run_clicked()
ui->commandLineEdit->clear();
ui->consoleEdit->clear();
QString program = "pkdiff";
- if(ui->reference->text().isEmpty())
- MainWindow::on_actionReference_triggered();
- if(ui->reference->text().isEmpty()){
- QString qsError="No reference vector file selected";
- throw(qsError);
+ if(ui->input->text().isEmpty()){
+ MainWindow::on_actionInput_triggered();
+ if(ui->input->text().isEmpty()){
+ QString qsError="No input raster dataset selected";
+ throw(qsError);
+ }
}
- if(!ui->input->text().isEmpty()){
- if(ui->output->text().isEmpty())
- MainWindow::on_actionOutput_triggered();
- if(ui->output->text().isEmpty()){
- QString qsError="No training vector file selected";
+ if(ui->reference->text().isEmpty()){
+ MainWindow::on_actionReference_triggered();
+ if(ui->reference->text().isEmpty()){
+ QString qsError="No reference vector file selected";
throw(qsError);
}
}
-
for(int irow=0;irow<ui->tableView_labels->model()->rowCount();++irow){
QString qsOption;
qsOption+=" --class ";
qsOption+=ui->tableView_labels->model()->data(ui->tableView_labels->model()->index(irow,0)).toString();
qsOption+=" --reclass ";
qsOption+=ui->tableView_labels->model()->data(ui->tableView_labels->model()->index(irow,1)).toString();
+ program+=qsOption;
}
QList<QComboBox*> qcomboBoxList = this->findChildren<QComboBox *>();
@@ -161,6 +161,9 @@ void MainWindow::on_pushButton_run_clicked()
}
}
+ if(ui->confusion->isChecked())
+ program+=" --confusion";
+
ui->commandLineEdit->setText(program);
// QProcess *myProcess = new QProcess(parent);
@@ -187,11 +190,6 @@ void MainWindow::on_pushButton_run_clicked()
}
}
-void MainWindow::on_toolButton_createTable_clicked()
-{
-
-}
-
void MainWindow::on_pushButton_restore_clicked()
{
setDefaults();
diff --git a/qt/pkdiff_gui/mainwindow.h b/qt/pkdiff_gui/mainwindow.h
index 5e457e7..902263f 100644
--- a/qt/pkdiff_gui/mainwindow.h
+++ b/qt/pkdiff_gui/mainwindow.h
@@ -53,8 +53,6 @@ private slots:
void on_pushButton_run_clicked();
- void on_toolButton_createTable_clicked();
-
void on_pushButton_restore_clicked();
void on_commandLinkButtonPrepareTable_clicked();
diff --git a/qt/pkdiff_gui/mainwindow.ui b/qt/pkdiff_gui/mainwindow.ui
index 2a17b66..fe23a23 100644
--- a/qt/pkdiff_gui/mainwindow.ui
+++ b/qt/pkdiff_gui/mainwindow.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>628</width>
- <height>614</height>
+ <width>810</width>
+ <height>777</height>
</rect>
</property>
<property name="windowTitle">
@@ -24,12 +24,12 @@
<attribute name="title">
<string>Input/Output</string>
</attribute>
- <widget class="QWidget" name="">
+ <widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>9</x>
<y>9</y>
- <width>588</width>
+ <width>761</width>
<height>264</height>
</rect>
</property>
@@ -152,7 +152,7 @@
<widget class="QLineEdit" name="lref"/>
</item>
<item row="2" column="0">
- <widget class="QLabel" name="label">
+ <widget class="QLabel" name="label_reference">
<property name="text">
<string>Reference</string>
</property>
@@ -191,15 +191,25 @@
</property>
</widget>
</item>
+ <item row="0" column="6">
+ <widget class="QLineEdit" name="nodata"/>
+ </item>
+ <item row="0" column="5">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>nodata</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
- <widget class="QWidget" name="verticalLayoutWidget">
+ <widget class="QWidget" name="">
<property name="geometry">
<rect>
- <x>10</x>
- <y>280</y>
- <width>591</width>
- <height>171</height>
+ <x>11</x>
+ <y>281</y>
+ <width>391</width>
+ <height>331</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
@@ -213,19 +223,6 @@
<item>
<widget class="QTableView" name="tableView_labels"/>
</item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
</layout>
</widget>
</widget>
@@ -302,7 +299,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>628</width>
+ <width>810</width>
<height>27</height>
</rect>
</property>
@@ -369,16 +366,28 @@
</widget>
<layoutdefault spacing="6" margin="11"/>
<tabstops>
- <tabstop>tabWidget</tabstop>
<tabstop>input</tabstop>
<tabstop>toolButton_input</tabstop>
+ <tabstop>nodata</tabstop>
+ <tabstop>reference</tabstop>
+ <tabstop>toolButton_reference</tabstop>
+ <tabstop>lref</tabstop>
<tabstop>mask</tabstop>
<tabstop>toolButton_mask</tabstop>
<tabstop>msknodata</tabstop>
- <tabstop>commandLineEdit</tabstop>
+ <tabstop>output</tabstop>
+ <tabstop>toolButton_output</tabstop>
+ <tabstop>lclass</tabstop>
+ <tabstop>f</tabstop>
+ <tabstop>confusion</tabstop>
+ <tabstop>nclass</tabstop>
+ <tabstop>commandLinkButtonPrepareTable</tabstop>
+ <tabstop>tableView_labels</tabstop>
<tabstop>consoleEdit</tabstop>
- <tabstop>pushButton_run</tabstop>
<tabstop>pushButton_restore</tabstop>
+ <tabstop>pushButton_run</tabstop>
+ <tabstop>commandLineEdit</tabstop>
+ <tabstop>tabWidget</tabstop>
</tabstops>
<resources/>
<connections/>
diff --git a/qt/pkextract_gui/mainwindow.cpp b/qt/pkextract_gui/mainwindow.cpp
index cefc0aa..455a07e 100644
--- a/qt/pkextract_gui/mainwindow.cpp
+++ b/qt/pkextract_gui/mainwindow.cpp
@@ -11,7 +11,7 @@ MainWindow::MainWindow(QWidget *parent) :
{
ui->setupUi(this);
QStringList rulelist;
- rulelist << "point" << "pointOnSurface" << "centroid" << "mean" << "median" << "proportion" << "minimum" << "maximum" << "maximum voting" << "sum";
+ rulelist << "point" << "pointOnSurface" << "centroid" << "mean" << "median" << "proportion" << "minimum" << "maximum" << "maxvote" << "sum";
ui->rule->addItems(rulelist);
QStringList formatlist;
formatlist << "SQLite" << "ESRI Shapefile";
@@ -37,6 +37,7 @@ void MainWindow::setDefaults()
ui->output->clear();
//tab extract
ui->bname->setText("b");
+ ui->cname->setText("label");
ui->rule->setCurrentIndex(0);
ui->nclass->clear();
QStringList labels;
@@ -120,6 +121,10 @@ void MainWindow::on_pushButton_run_clicked()
}
program+=" --f "+ui->f->currentText();
+
+ if(ui->polygon->isChecked())
+ program+=" --polygon";
+
program+=" --rule "+ui->rule->currentText();
// QList<QComboBox*> qcomboBoxList = this->findChildren<QComboBox *>();
@@ -145,6 +150,16 @@ void MainWindow::on_pushButton_run_clicked()
}
}
+ //class table
+ for(int irow=0;irow<ui->tableView_labels->model()->rowCount();++irow){
+ QString qsOption;
+ qsOption+=" --class ";
+ qsOption+=ui->tableView_labels->model()->data(ui->tableView_labels->model()->index(irow,0)).toString();
+ qsOption+=" --threshold ";
+ qsOption+=ui->tableView_labels->model()->data(ui->tableView_labels->model()->index(irow,1)).toString();
+ program+=qsOption;
+ }
+
ui->commandLineEdit->insert(program);
// QProcess *myProcess = new QProcess(parent);
@@ -154,12 +169,12 @@ void MainWindow::on_pushButton_run_clicked()
this->setCursor(Qt::WaitCursor);
myProcess->waitForFinished(-1);
this->setCursor(Qt::ArrowCursor);
- QString p_stderr = myProcess->readAllStandardError();
- if(!p_stderr.isEmpty()){
- QMessageBox msgBox;
- msgBox.setText(p_stderr);
- msgBox.exec();
- }
+// QString p_stderr = myProcess->readyReadStandardError();
+// if(!p_stderr.isEmpty()){
+// QMessageBox msgBox;
+// msgBox.setText(p_stderr);
+// msgBox.exec();
+// }
QString p_stdout = myProcess->readAll();
ui->consoleEdit->insertPlainText(p_stdout);
delete myProcess;
diff --git a/qt/pkextract_gui/mainwindow.ui b/qt/pkextract_gui/mainwindow.ui
index e344b49..89a7097 100644
--- a/qt/pkextract_gui/mainwindow.ui
+++ b/qt/pkextract_gui/mainwindow.ui
@@ -26,7 +26,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
- <number>1</number>
+ <number>0</number>
</property>
<widget class="QWidget" name="tab_2">
<attribute name="title">
@@ -158,19 +158,6 @@
<item row="1" column="1">
<widget class="QLineEdit" name="bname"/>
</item>
- <item row="2" column="1">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
<item row="4" column="0">
<widget class="QLabel" name="label_20">
<property name="toolTip">
@@ -257,6 +244,16 @@
</property>
</spacer>
</item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>attribute for class output</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="cname"/>
+ </item>
</layout>
</item>
<item>
@@ -416,15 +413,16 @@
<tabstop>polygon</tabstop>
<tabstop>rule</tabstop>
<tabstop>bname</tabstop>
+ <tabstop>cname</tabstop>
<tabstop>nclass</tabstop>
<tabstop>toolButton_createTable</tabstop>
<tabstop>threshold</tabstop>
- <tabstop>consoleEdit</tabstop>
<tabstop>pushButton_run</tabstop>
<tabstop>pushButton_restore</tabstop>
<tabstop>tabWidget</tabstop>
<tabstop>tableView_labels</tabstop>
<tabstop>commandLineEdit</tabstop>
+ <tabstop>consoleEdit</tabstop>
</tabstops>
<resources/>
<connections/>
diff --git a/qt/pksvm_gui/mainwindow.ui b/qt/pksvm_gui/mainwindow.ui
index bfb8f5a..9be5b8b 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>0</number>
+ <number>2</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
diff --git a/src/apps/pkextract.cc b/src/apps/pkextract.cc
index 8f07c1f..ec234ee 100644
--- a/src/apps/pkextract.cc
+++ b/src/apps/pkextract.cc
@@ -363,7 +363,7 @@ int main(int argc, char *argv[])
int theBand=(band_opt[0]<0)?iband:band_opt[iband];
imgReader.readData(imgBuffer[iband],GDT_Float64,static_cast<int>(jimg),theBand);
assert(imgBuffer[iband].size()==imgReader.nrOfCol());
- if(bndnodata_opt.size()){
+ if(srcnodata_opt.size()){
vector<int>::const_iterator bndit=find(bndnodata_opt.begin(),bndnodata_opt.end(),theBand);
if(bndit!=bndnodata_opt.end()){
vector<int>::const_iterator bndit=find(bndnodata_opt.begin(),bndnodata_opt.end(),theBand);
@@ -620,7 +620,7 @@ int main(int argc, char *argv[])
int theBand=(band_opt[0]<0)?iband:band_opt[iband];
imgReader.readData(imgBuffer[iband],GDT_Float64,static_cast<int>(jimg),theBand);
assert(imgBuffer[iband].size()==imgReader.nrOfCol());
- if(bndnodata_opt.size()){
+ if(srcnodata_opt.size()){
vector<int>::const_iterator bndit=find(bndnodata_opt.begin(),bndnodata_opt.end(),theBand);
if(bndit!=bndnodata_opt.end()){
if(imgBuffer[iband][static_cast<int>(iimg)]==srcnodata_opt[theBand])
@@ -1128,7 +1128,7 @@ int main(int argc, char *argv[])
int theBand=(band_opt[0]<0)?iband:band_opt[iband];
imgReader.readData(value,GDT_Float64,i,j,theBand);
- if(bndnodata_opt.size()){
+ if(srcnodata_opt.size()){
Optionpk<int>::const_iterator bndit=find(bndnodata_opt.begin(),bndnodata_opt.end(),theBand);
if(bndit!=bndnodata_opt.end()){
if(value==srcnodata_opt[theBand])
@@ -1292,6 +1292,7 @@ int main(int argc, char *argv[])
vector<double> polyClassValues;
if(class_opt.size()){
+
polyClassValues.resize(class_opt.size());
//initialize
for(int iclass=0;iclass<class_opt.size();++iclass)
@@ -1334,11 +1335,13 @@ int main(int argc, char *argv[])
bool valid=true;
- for(int vband=0;vband<bndnodata_opt.size();++vband){
- double value=((readValues[bndnodata_opt[vband]])[j-ulj])[i-uli];
- if(value==srcnodata_opt[vband]){
- valid=false;
- break;
+ if(srcnodata_opt.size()){
+ for(int vband=0;vband<bndnodata_opt.size();++vband){
+ double value=((readValues[bndnodata_opt[vband]])[j-ulj])[i-uli];
+ if(value==srcnodata_opt[vband]){
+ valid=false;
+ break;
+ }
}
}
@@ -1818,7 +1821,7 @@ int main(int argc, char *argv[])
lri=static_cast<int>(lri);
//iterate through all pixels
if(verbose_opt[0]>1)
- std::cout << "bounding box for feature " << ifeature << ": " << uli << " " << ulj << " " << lri << " " << lrj << std::endl;
+ std::cout << "bounding box for multipologon feature " << ifeature << ": " << uli << " " << ulj << " " << lri << " " << lrj << std::endl;
if(uli<0)
uli=0;
@@ -1899,14 +1902,15 @@ int main(int argc, char *argv[])
bool valid=true;
- for(int vband=0;vband<bndnodata_opt.size();++vband){
- double value=((readValues[bndnodata_opt[vband]])[j-ulj])[i-uli];
- if(value==srcnodata_opt[vband]){
- valid=false;
- break;
+ if(srcnodata_opt.size()){
+ for(int vband=0;vband<bndnodata_opt.size();++vband){
+ double value=((readValues[bndnodata_opt[vband]])[j-ulj])[i-uli];
+ if(value==srcnodata_opt[vband]){
+ valid=false;
+ break;
+ }
}
}
-
// for(int imask=0;imask<mask_opt.size();++imask){
// double colMask,rowMask;//image coordinates in mask image
// if(mask_opt.size()>1){//multiple masks
--
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