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 <kempe...@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 _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel