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 f07f3995f9e019a2be6def86eb17382bb7b65d38 Author: Pieter Kempeneers <kempe...@gmail.com> Date: Wed May 7 15:48:51 2014 +0200 added pkdiff_gui, not tested --- qt/pkdiff_gui/main.cpp | 30 ++++ qt/pkdiff_gui/mainwindow.cpp | 208 +++++++++++++++++++++++ qt/pkdiff_gui/mainwindow.h | 69 ++++++++ qt/pkdiff_gui/mainwindow.ui | 385 +++++++++++++++++++++++++++++++++++++++++++ qt/pkdiff_gui/pkdiff_gui.pro | 41 +++++ qt/pksvm_gui/mainwindow.ui | 2 +- src/apps/pkdiff.cc | 18 +- 7 files changed, 743 insertions(+), 10 deletions(-) diff --git a/qt/pkdiff_gui/main.cpp b/qt/pkdiff_gui/main.cpp new file mode 100644 index 0000000..f07fc9f --- /dev/null +++ b/qt/pkdiff_gui/main.cpp @@ -0,0 +1,30 @@ +/********************************************************************** +main.cpp: GUI for pktools +Copyright (C) 2008-2014 Pieter Kempeneers + +This file is part of pktools + +pktools is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +pktools is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with pktools. If not, see <http://www.gnu.org/licenses/>. +***********************************************************************/ +#include "mainwindow.h" +#include <QApplication> + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + + return a.exec(); +} diff --git a/qt/pkdiff_gui/mainwindow.cpp b/qt/pkdiff_gui/mainwindow.cpp new file mode 100644 index 0000000..6a1ce6f --- /dev/null +++ b/qt/pkdiff_gui/mainwindow.cpp @@ -0,0 +1,208 @@ +/********************************************************************** +mainwindow.cpp: GUI for pktools +Copyright (C) 2008-2014 Pieter Kempeneers + +This file is part of pktools + +pktools is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +pktools is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with pktools. If not, see <http://www.gnu.org/licenses/>. +***********************************************************************/ +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include <QFileDialog> +#include <QStandardItemModel> +#include <QMessageBox> +#include <QProcess> + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(this); + QStringList formatlist; + formatlist << "ESRI Shapefile" << "SQLite"; + ui->f->addItems(formatlist); + setDefaults(); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + +void MainWindow::setDefaults() +{ + ui->label->setText("label"); + //tab input/output + ui->input->clear(); + ui->msknodata->setText("0"); + ui->output->clear(); + ui->label->setText("label"); +} + +void MainWindow::on_actionReference_triggered() +{ + QString qsreference= QFileDialog::getOpenFileName(this, "Reference"); + ui->reference->setText(qsreference); +} + +void MainWindow::on_actionMask_triggered() +{ + QString qsmask = QFileDialog::getOpenFileName(this, "Mask"); + ui->mask->setText(qsmask); +} + +void MainWindow::on_actionOutput_triggered() +{ + QString qsoutput = QFileDialog::getSaveFileName(this,"Output image","","*.*"); + ui->output->setText(qsoutput); +} + +void MainWindow::on_actionInput_triggered() +{ + QString qsinput = QFileDialog::getOpenFileName(this, "Input"); + ui->input->setText(qsinput); +} + +void MainWindow::on_toolButton_input_clicked() +{ + on_actionInput_triggered(); +} + +void MainWindow::on_toolButton_mask_clicked() +{ + on_actionMask_triggered(); +} + +void MainWindow::on_toolButton_output_clicked() +{ + on_actionOutput_triggered(); +} + +void MainWindow::on_toolButton_reference_clicked() +{ + on_actionReference_triggered(); +} + +void MainWindow::setClassTable(const QStringList &labels) +{ + QStandardItemModel *model = new QStandardItemModel(labels.size(),2,this); //nlabel rows and 2 columns + model->setHorizontalHeaderItem(0, new QStandardItem(QString("label name"))); + model->setHorizontalHeaderItem(1, new QStandardItem(QString("class nr"))); + for(int ilabel=0;ilabel<labels.size();++ilabel){ + QStandardItem *firstCol = new QStandardItem(QString(labels[ilabel])); + model->setItem(ilabel,0,firstCol); + QStandardItem *secondCol = new QStandardItem(QString::number(ilabel+1)); + model->setItem(ilabel,1,secondCol); + } + ui->tableView_labels->setModel(model); +} + +void MainWindow::on_pushButton_run_clicked() +{ + try{ + 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()){ + if(ui->output->text().isEmpty()) + MainWindow::on_actionOutput_triggered(); + if(ui->output->text().isEmpty()){ + QString qsError="No training 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(); + } + + 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+=(*qcbit)->currentText(); + } + + QList<QLineEdit*> qlineEditList = this->findChildren<QLineEdit *>(); + + for(QList<QLineEdit*>::ConstIterator qlbit=qlineEditList.begin();qlbit!=qlineEditList.end();++qlbit){ + if(!((*qlbit)->text().isEmpty())){ + QString qsOption; + qsOption+=" --"; + qsOption+=(*qlbit)->objectName(); + qsOption+=" "; + qsOption+=(*qlbit)->text(); + program+=qsOption; + } + } + + ui->commandLineEdit->setText(program); + +// QProcess *myProcess = new QProcess(parent); + QProcess *myProcess = new QProcess(this); + myProcess->start(program); + myProcess->setProcessChannelMode(QProcess::MergedChannels); + myProcess->waitForFinished(-1); + QMessageBox msgBox; + QString p_stderr = myProcess->readAllStandardError(); + if(!p_stderr.isEmpty()){ + msgBox.setText(p_stderr); + msgBox.exec(); + } + QString p_stdout = myProcess->readAll(); + ui->consoleEdit->insertPlainText(p_stdout); + delete myProcess; + } + catch(QString qsError){ + QMessageBox msgBox; + msgBox.setText(qsError); + msgBox.exec(); + } +} + +void MainWindow::on_toolButton_createTable_clicked() +{ + +} + +void MainWindow::on_pushButton_restore_clicked() +{ + setDefaults(); +} + +void MainWindow::on_commandLinkButtonPrepareTable_clicked() +{ + int nclass=ui->nclass->text().toInt(); + QStringList labels; + for(int iclass=1;iclass<=nclass;++iclass){ + QString lstring="label"; + lstring+=QString::number(iclass); + labels << lstring; + } + setClassTable(labels); +} diff --git a/qt/pkdiff_gui/mainwindow.h b/qt/pkdiff_gui/mainwindow.h new file mode 100644 index 0000000..5e457e7 --- /dev/null +++ b/qt/pkdiff_gui/mainwindow.h @@ -0,0 +1,69 @@ +/********************************************************************** +mainwindow.h: GUI for pktools +Copyright (C) 2008-2014 Pieter Kempeneers + +This file is part of pktools + +pktools is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +pktools is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with pktools. If not, see <http://www.gnu.org/licenses/>. +***********************************************************************/ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include <QMainWindow> + +namespace Ui { +class MainWindow; +} + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + explicit MainWindow(QWidget *parent = 0); + ~MainWindow(); + +private slots: + void on_actionInput_triggered(); + + void on_actionReference_triggered(); + + void on_actionMask_triggered(); + + void on_actionOutput_triggered(); + + void on_toolButton_input_clicked(); + + void on_toolButton_mask_clicked(); + + void on_toolButton_output_clicked(); + + void on_toolButton_reference_clicked(); + + void on_pushButton_run_clicked(); + + void on_toolButton_createTable_clicked(); + + void on_pushButton_restore_clicked(); + + void on_commandLinkButtonPrepareTable_clicked(); + +private: + void setClassTable(const QStringList &labels); + void setDefaults(); + + Ui::MainWindow *ui; +}; + +#endif // MAINWINDOW_H diff --git a/qt/pkdiff_gui/mainwindow.ui b/qt/pkdiff_gui/mainwindow.ui new file mode 100644 index 0000000..2a17b66 --- /dev/null +++ b/qt/pkdiff_gui/mainwindow.ui @@ -0,0 +1,385 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>MainWindow</class> + <widget class="QMainWindow" name="MainWindow"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>628</width> + <height>614</height> + </rect> + </property> + <property name="windowTitle"> + <string>pkdiff_gui</string> + </property> + <widget class="QWidget" name="centralWidget"> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="tab_2"> + <attribute name="title"> + <string>Input/Output</string> + </attribute> + <widget class="QWidget" name=""> + <property name="geometry"> + <rect> + <x>9</x> + <y>9</y> + <width>588</width> + <height>264</height> + </rect> + </property> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="5" column="5"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>OGR output format</string> + </property> + </widget> + </item> + <item row="4" column="3"> + <widget class="QToolButton" name="toolButton_output"> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + <item row="4" column="6"> + <widget class="QLineEdit" name="lclass"/> + </item> + <item row="4" column="2"> + <widget class="QLineEdit" name="output"/> + </item> + <item row="4" column="5"> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>class label</string> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="QLineEdit" name="input"/> + </item> + <item row="6" column="0"> + <widget class="QCheckBox" name="confusion"> + <property name="text"> + <string>confusion matrix</string> + </property> + </widget> + </item> + <item row="3" column="5"> + <widget class="QLabel" name="label_14"> + <property name="text"> + <string>msknodata</string> + </property> + </widget> + </item> + <item row="0" column="3"> + <widget class="QToolButton" name="toolButton_input"> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_13"> + <property name="toolTip"> + <string><html><head/><body><p>Dimensions of mask image must correspond to input image. Pixels in mask with values=masknodata are not classified and get nodata value.</p></body></html></string> + </property> + <property name="text"> + <string>Mask image</string> + </property> + </widget> + </item> + <item row="3" column="2"> + <widget class="QLineEdit" name="mask"/> + </item> + <item row="3" column="3"> + <widget class="QToolButton" name="toolButton_mask"> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + <item row="3" column="6"> + <widget class="QLineEdit" name="msknodata"/> + </item> + <item row="3" column="4"> + <spacer name="horizontalSpacer_15"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="toolTip"> + <string><html><head/><body><p>Input image. Both OGR vectors and GDAL rasters are supported. Number of bands must match those in training sample.</p></body></html></string> + </property> + <property name="text"> + <string>Input data</string> + </property> + </widget> + </item> + <item row="7" column="2"> + <widget class="QLineEdit" name="nclass"/> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Output data</string> + </property> + </widget> + </item> + <item row="2" column="5"> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string>class label</string> + </property> + </widget> + </item> + <item row="2" column="6"> + <widget class="QLineEdit" name="lref"/> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Reference</string> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QLineEdit" name="reference"/> + </item> + <item row="2" column="3"> + <widget class="QToolButton" name="toolButton_reference"> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + <item row="8" column="0"> + <spacer name="verticalSpacer_2"> + <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="5" column="6"> + <widget class="QComboBox" name="f"/> + </item> + <item row="7" column="0"> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>Number of classes to prepare table</string> + </property> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="verticalLayoutWidget"> + <property name="geometry"> + <rect> + <x>10</x> + <y>280</y> + <width>591</width> + <height>171</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QToolButton" name="commandLinkButtonPrepareTable"> + <property name="text"> + <string>prepare table</string> + </property> + </widget> + </item> + <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> + <widget class="QWidget" name="tab_4"> + <attribute name="title"> + <string>Console</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <item> + <widget class="QLabel" name="label_18"> + <property name="text"> + <string>Command line</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="commandLineEdit"/> + </item> + <item> + <widget class="QLabel" name="label_19"> + <property name="text"> + <string>Console output</string> + </property> + </widget> + </item> + <item> + <widget class="QPlainTextEdit" name="consoleEdit"/> + </item> + </layout> + </widget> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QPushButton" name="pushButton_run"> + <property name="toolTip"> + <string><html><head/><body><p>Classify with current settings (check Console for output)</p></body></html></string> + </property> + <property name="text"> + <string>Run</string> + </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> + <item> + <widget class="QPushButton" name="pushButton_restore"> + <property name="toolTip"> + <string><html><head/><body><p>reset all parameters to default</p></body></html></string> + </property> + <property name="text"> + <string>Restore defaults</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QMenuBar" name="menuBar"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>628</width> + <height>27</height> + </rect> + </property> + <widget class="QMenu" name="menuFile"> + <property name="title"> + <string>File</string> + </property> + <addaction name="actionInput"/> + <addaction name="actionReference"/> + <addaction name="actionMask"/> + <addaction name="actionOutput"/> + </widget> + <addaction name="menuFile"/> + </widget> + <widget class="QToolBar" name="mainToolBar"> + <attribute name="toolBarArea"> + <enum>TopToolBarArea</enum> + </attribute> + <attribute name="toolBarBreak"> + <bool>false</bool> + </attribute> + </widget> + <widget class="QStatusBar" name="statusBar"/> + <action name="actionInput"> + <property name="text"> + <string>Input</string> + </property> + <property name="shortcut"> + <string>Alt+I</string> + </property> + </action> + <action name="actionReference"> + <property name="text"> + <string>Reference</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"/> + <tabstops> + <tabstop>tabWidget</tabstop> + <tabstop>input</tabstop> + <tabstop>toolButton_input</tabstop> + <tabstop>mask</tabstop> + <tabstop>toolButton_mask</tabstop> + <tabstop>msknodata</tabstop> + <tabstop>commandLineEdit</tabstop> + <tabstop>consoleEdit</tabstop> + <tabstop>pushButton_run</tabstop> + <tabstop>pushButton_restore</tabstop> + </tabstops> + <resources/> + <connections/> +</ui> diff --git a/qt/pkdiff_gui/pkdiff_gui.pro b/qt/pkdiff_gui/pkdiff_gui.pro new file mode 100644 index 0000000..216f2b8 --- /dev/null +++ b/qt/pkdiff_gui/pkdiff_gui.pro @@ -0,0 +1,41 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2014-03-21T13:16:29 +# +#------------------------------------------------- + +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +TARGET = pkdiff_gui +TEMPLATE = app + + +SOURCES += main.cpp\ + mainwindow.cpp + +HEADERS += mainwindow.h + +FORMS += mainwindow.ui + +#win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../vis_studio/release/ -limageclasses +#else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../vis_studio/debug/ -limageclasses +#else:unix: LIBS += -L$$PWD/../../vis_studio/ -limageclasses + +#INCLUDEPATH += $$PWD/../../src/imageclasses +#DEPENDPATH += $$PWD/../../src/imageclasses + +#win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../vis_studio/install/lib/ -lgdal_i +#else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../vis_studio/install/lib/ -lgdal_i +#else:unix: LIBS += -L$$PWD/../../../../vis_studio/install/lib/ -lgdal_i + +#INCLUDEPATH += $$PWD/../../../../vis_studio/install/include +#DEPENDPATH += $$PWD/../../../../vis_studio/install/include + +#win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../vis_studio/release/ -lbase +#else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../vis_studio/debug/ -lbase +#else:unix: LIBS += -L$$PWD/../../vis_studio/ -lbase + +#INCLUDEPATH += $$PWD/../../src +#DEPENDPATH += $$PWD/../../src/base diff --git a/qt/pksvm_gui/mainwindow.ui b/qt/pksvm_gui/mainwindow.ui index 8f425a9..bfb8f5a 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>1</number> + <number>0</number> </property> <widget class="QWidget" name="tab"> <attribute name="title"> diff --git a/src/apps/pkdiff.cc b/src/apps/pkdiff.cc index 56415b8..da98e98 100644 --- a/src/apps/pkdiff.cc +++ b/src/apps/pkdiff.cc @@ -36,21 +36,21 @@ int main(int argc, char *argv[]) Optionpk<string> mask_opt("m", "mask", "Mask image file. A single mask is supported only, but several mask values can be used. See also msknodata option. (default is empty)"); Optionpk<int> masknodata_opt("msknodata", "msknodata", "Mask value(s) where image is invalid. Use negative value for valid data (example: use -t -1: if only -1 is valid value)", 0); Optionpk<string> colorTable_opt("ct", "ct", "color table (file with 5 columns: id R G B ALFA (0: transparent, 255: solid)"); - Optionpk<short> valueE_opt("\0", "correct", "Value for correct pixels (0)", 0,1); - Optionpk<short> valueO_opt("\0", "omission", "Value for omission errors: input label > reference label (default value is 1)", 1,1); - Optionpk<short> valueC_opt("\0", "commission", "Value for commission errors: input label < reference label (default value is 2)", 2,1); + Optionpk<short> valueE_opt("\0", "correct", "Value for correct pixels", 0,1); + Optionpk<short> valueO_opt("\0", "omission", "Value for omission errors: input label > reference label", 1,1); + Optionpk<short> valueC_opt("\0", "commission", "Value for commission errors: input label < reference label", 2,1); Optionpk<short> nodata_opt("nodata", "nodata", "No value flag(s)"); - Optionpk<short> band_opt("b", "band", "Band to extract (0)", 0); - Optionpk<bool> confusion_opt("cm", "confusion", "create confusion matrix (to std out) (default value is 0)", false); - Optionpk<string> labelref_opt("lr", "lref", "name of the reference label in case reference is shape file(default is label)", "label"); - Optionpk<string> labelclass_opt("lc", "lclass", "name of the classified label in case output is shape file (default is class)", "class"); - Optionpk<short> boundary_opt("bnd", "boundary", "boundary for selecting the sample (default: 1)", 1,1); + Optionpk<short> band_opt("b", "band", "Input band", 0); + Optionpk<bool> confusion_opt("cm", "confusion", "create confusion matrix (to std out)", false); + Optionpk<string> labelref_opt("lr", "lref", "name of the reference label in case reference is shape file", "label"); + Optionpk<string> labelclass_opt("lc", "lclass", "name of the classified label in case output is shape file", "class"); + Optionpk<short> boundary_opt("bnd", "boundary", "boundary for selecting the sample", 1,1); Optionpk<bool> disc_opt("circ", "circular", "use circular disc kernel boundary)", false,1); Optionpk<bool> homogeneous_opt("hom", "homogeneous", "only take homogeneous regions into account", false,1); Optionpk<string> option_opt("co", "co", "Creation option for output file. Multiple options can be specified."); Optionpk<string> classname_opt("c", "class", "list of class names."); Optionpk<short> classvalue_opt("r", "reclass", "list of class values (use same order as in classname opt."); - Optionpk<short> verbose_opt("v", "verbose", "verbose (default value is 0)", 0); + Optionpk<short> verbose_opt("v", "verbose", "verbose", 0); bool doProcess;//stop process when program was invoked with help option (-h --help) try{ -- 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