[pktools] 229/375: added pkcomposite_gui
Bas Couwenberg
sebastic at xs4all.nl
Wed Dec 3 21:54:16 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 c1e05a3f8cf807e66ef3158b18931fba9f676bfb
Author: Pieter Kempeneers <kempenep at gmail.com>
Date: Wed Apr 2 16:10:08 2014 +0200
added pkcomposite_gui
---
qt/pkcomposite_gui/main.cc | 31 ++
qt/pkcomposite_gui/mainwindow.cc | 124 ++++++
qt/pkcomposite_gui/mainwindow.h | 56 +++
qt/{pksvm_gui => pkcomposite_gui}/mainwindow.ui | 538 ++++++++++++------------
qt/pkcomposite_gui/pkcomposite_gui.pro | 20 +
qt/pksvm_gui/mainwindow.ui | 2 +-
src/apps/pkcomposite.cc | 20 +-
7 files changed, 519 insertions(+), 272 deletions(-)
diff --git a/qt/pkcomposite_gui/main.cc b/qt/pkcomposite_gui/main.cc
new file mode 100644
index 0000000..b53cf84
--- /dev/null
+++ b/qt/pkcomposite_gui/main.cc
@@ -0,0 +1,31 @@
+/**********************************************************************
+main.cc
+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/pkcomposite_gui/mainwindow.cc b/qt/pkcomposite_gui/mainwindow.cc
new file mode 100644
index 0000000..6e61661
--- /dev/null
+++ b/qt/pkcomposite_gui/mainwindow.cc
@@ -0,0 +1,124 @@
+/**********************************************************************
+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>
+
+MainWindow::MainWindow(QWidget *parent) :
+ QMainWindow(parent),
+ ui(new Ui::MainWindow)
+{
+ ui->setupUi(this);
+ QStringList resamplelist;
+ resamplelist << "near" << "bilinear";
+ ui->comboBox_resample->addItems(resamplelist);
+ QStringList crulelist;
+ crulelist << "overwrite" << "maxndvi" << "maxband" <<"minband" << "mean" << "mode" << "median" << "sum";
+ ui->comboBox_crule->addItems(crulelist);
+ QStringList interleavedlist;
+ interleavedlist << "BAND" << "LINE" << "PIXEL" <<"BSQ";
+ ui->comboBox_interleaved->addItems(interleavedlist);
+ QStringList compressedlist;
+ compressedlist << "NONE" << "LZW" << "PACKBITS" <<"DEFLATE";
+ ui->comboBox_compressed->addItems(compressedlist);
+ QStringList otypelist;
+ otypelist << "Byte" << "Int16" << "UInt16" << "UInt32" << "Int32" << "Float32" << "Float64" << "CInt16" << "CInt32" << "CFloat32" << "CFloat64";
+ ui->otype->addItems(otypelist);
+ QStringList oformatlist;
+ oformatlist << "GTiff" << "HFA" << "ENVI";
+ ui->oformat->addItems(oformatlist);
+ setDefaults();
+}
+
+MainWindow::~MainWindow()
+{
+ delete ui;
+}
+
+void MainWindow::setDefaults()
+{
+ //input
+ ui->listWidget_input->clear();
+ ui->ulx->clear();
+ ui->uly->clear();
+ ui->lrx->clear();
+ ui->lry->clear();
+ //composit
+ ui->comboBox_resample->setCurrentIndex(0);
+ ui->comboBox_crule->setCurrentIndex(0);
+ ui->rband->setText("0");
+ ui->bndnodata->setText("0");
+ ui->srcnodata->setText("0");
+ ui->min->clear();
+ ui->max->clear();
+ //output
+ ui->output->clear();
+ ui->a_srs->clear();
+ ui->otype->setCurrentIndex(0);
+ ui->oformat->setCurrentIndex(0);
+ ui->ct->clear();
+ ui->description->clear();
+ ui->dx->clear();
+ ui->dy->clear();
+ ui->comboBox_interleaved->setCurrentIndex(0);
+ ui->tiled->setChecked(false);
+ ui->comboBox_compressed->setCurrentIndex(0);
+ ui->dstnodata->clear();
+ ui->file->clear();
+}
+
+void MainWindow::on_toolButton_input_clicked()
+{
+ on_actionInput_image_triggered();
+}
+
+void MainWindow::on_toolButton_output_clicked()
+{
+ on_actionOutput_image_triggered();
+}
+
+void MainWindow::on_toolButton_defaults_clicked()
+{
+ setDefaults();
+}
+
+void MainWindow::on_actionInput_image_triggered()
+{
+ QFileDialog dialog(this);
+ dialog.setDirectory(QDir::homePath());
+ dialog.setFileMode(QFileDialog::ExistingFiles);
+ QStringList fileNames;
+ if (dialog.exec())
+ fileNames = dialog.selectedFiles();
+ ui->listWidget_input->addItems(fileNames);
+}
+
+void MainWindow::on_actionOutput_image_triggered()
+{
+ QString outputfilename=QFileDialog::getOpenFileName(this,"Output image");
+ ui->output->setText(outputfilename);
+}
+
+void MainWindow::on_actionQuit_triggered()
+{
+ close();
+}
+
diff --git a/qt/pkcomposite_gui/mainwindow.h b/qt/pkcomposite_gui/mainwindow.h
new file mode 100644
index 0000000..9f61cc6
--- /dev/null
+++ b/qt/pkcomposite_gui/mainwindow.h
@@ -0,0 +1,56 @@
+/**********************************************************************
+mainwindow.h
+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_toolButton_input_clicked();
+
+ void on_toolButton_defaults_clicked();
+
+ void on_actionInput_image_triggered();
+
+ void on_actionOutput_image_triggered();
+
+ void on_actionQuit_triggered();
+
+ void on_toolButton_output_clicked();
+
+private:
+ Ui::MainWindow *ui;
+ void setDefaults();
+};
+
+#endif // MAINWINDOW_H
diff --git a/qt/pksvm_gui/mainwindow.ui b/qt/pkcomposite_gui/mainwindow.ui
similarity index 55%
copy from qt/pksvm_gui/mainwindow.ui
copy to qt/pkcomposite_gui/mainwindow.ui
index 35c1438..b680b08 100644
--- a/qt/pksvm_gui/mainwindow.ui
+++ b/qt/pkcomposite_gui/mainwindow.ui
@@ -6,78 +6,45 @@
<rect>
<x>0</x>
<y>0</y>
- <width>628</width>
- <height>614</height>
+ <width>798</width>
+ <height>859</height>
</rect>
</property>
<property name="windowTitle">
- <string>pksvm_gui</string>
+ <string>MainWindow</string>
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
- <number>2</number>
+ <number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
- <string>Training</string>
+ <string>Input</string>
</attribute>
- <layout class="QVBoxLayout" name="verticalLayout_3">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
<item>
- <layout class="QGridLayout" name="gridLayout">
- <item row="2" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>attribute name for class label</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QToolButton" name="toolButton_training">
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="1">
+ <widget class="QToolButton" name="toolButton_input">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="0" column="0">
- <widget class="QLabel" name="label_4">
+ <widget class="QLabel" name="label">
<property name="text">
- <string>Training vectorfile</string>
+ <string>Input images</string>
</property>
</widget>
</item>
- <item row="3" column="2">
- <spacer name="horizontalSpacer_4">
- <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="1">
- <widget class="QLineEdit" name="training"/>
- </item>
- <item row="3" column="1">
- <widget class="QLineEdit" name="nclass"/>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_20">
- <property name="text">
- <string>number of classes to prepare table</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="label"/>
+ <item row="0" column="2">
+ <widget class="QListWidget" name="listWidget_input"/>
</item>
- <item row="2" column="2">
+ <item row="1" column="3">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -90,17 +57,17 @@
</property>
</spacer>
</item>
+ <item row="3" column="2">
+ <widget class="QLineEdit" name="lry"/>
+ </item>
<item row="1" column="0">
- <widget class="QLabel" name="label_21">
+ <widget class="QLabel" name="label_2">
<property name="text">
- <string>Training layername (optional)</string>
+ <string>Geographical extent</string>
</property>
</widget>
</item>
<item row="1" column="1">
- <widget class="QLineEdit" name="tln"/>
- </item>
- <item row="1" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -113,241 +80,321 @@
</property>
</spacer>
</item>
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="uly"/>
+ </item>
+ <item row="2" column="3">
+ <widget class="QLineEdit" name="lrx"/>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="ulx"/>
+ </item>
</layout>
</item>
<item>
- <widget class="QCommandLinkButton" name="commandLinkButtonPrepareTable">
+ <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 class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>Composit</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <item row="2" column="0">
+ <spacer name="verticalSpacer_3">
+ <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="0" column="1">
+ <widget class="QComboBox" name="comboBox_resample"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_18">
<property name="text">
- <string>prepare table</string>
+ <string>Composit rule</string>
</property>
</widget>
</item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <widget class="QLabel" name="label_17">
- <property name="text">
- <string>class name-value pairs</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QTableView" name="tableView_labels"/>
- </item>
- </layout>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_17">
+ <property name="text">
+ <string>Resample method</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="comboBox_crule"/>
+ </item>
+ <item row="1" column="3">
+ <widget class="QLabel" name="label_19">
+ <property name="text">
+ <string>Band used for composit rule</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <widget class="QLineEdit" name="rband"/>
+ </item>
+ <item row="3" column="0" colspan="4">
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>nodata values in input</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_21">
+ <property name="text">
+ <string>nodata value</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="2">
+ <widget class="QLineEdit" name="srcnodata"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_23">
+ <property name="text">
+ <string>max value</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_22">
+ <property name="text">
+ <string>min value</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" colspan="2">
+ <widget class="QLineEdit" name="min"/>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLineEdit" name="max"/>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_20">
+ <property name="text">
+ <string>band</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="bndnodata"/>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item row="1" column="5">
+ <spacer name="horizontalSpacer_4">
+ <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="1" column="2">
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
</item>
</layout>
</widget>
- <widget class="QWidget" name="tab_2">
+ <widget class="QWidget" name="tab_3">
<attribute name="title">
- <string>Input/Output</string>
+ <string>Output</string>
</attribute>
- <layout class="QVBoxLayout" name="verticalLayout_4">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
<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>
- <item row="0" column="0">
- <widget class="QLabel" name="label_3">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_7">
<property name="text">
- <string>Input data</string>
+ <string>Output image format</string>
</property>
</widget>
</item>
- <item row="0" column="2">
- <widget class="QToolButton" name="toolButton_input">
+ <item row="9" column="0">
+ <widget class="QLabel" name="label_14">
<property name="text">
- <string>...</string>
+ <string>Output nodata value</string>
</property>
</widget>
</item>
- <item row="2" column="4">
+ <item row="10" column="1">
+ <widget class="QLineEdit" name="file"/>
+ </item>
+ <item row="6" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
- <string>nodata</string>
+ <string>Description</string>
</property>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_15">
+ <item row="7" column="2">
+ <widget class="QLabel" name="label_10">
<property name="text">
- <string>Output data</string>
+ <string>dx</string>
</property>
</widget>
</item>
- <item row="1" column="2">
- <widget class="QToolButton" name="toolButton_mask">
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_9">
<property name="text">
- <string>...</string>
+ <string>Output resolution</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>Mask image</string>
- </property>
- </widget>
+ <item row="8" column="1">
+ <widget class="QComboBox" name="comboBox_interleaved"/>
</item>
- <item row="1" column="1">
- <widget class="QLineEdit" name="mask"/>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="oformat"/>
</item>
- <item row="2" column="5">
- <widget class="QLineEdit" name="nodata"/>
+ <item row="7" column="1">
+ <widget class="QLineEdit" name="dx"/>
</item>
- <item row="1" column="4">
- <widget class="QLabel" name="label_14">
+ <item row="5" column="2">
+ <widget class="QToolButton" name="toolButton_ct">
<property name="text">
- <string>msknodata</string>
+ <string>...</string>
</property>
</widget>
</item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="output"/>
- </item>
- <item row="2" column="2">
- <widget class="QToolButton" name="toolButton_output">
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_8">
<property name="text">
- <string>...</string>
+ <string>Color table (ASCII)</string>
</property>
</widget>
</item>
- <item row="1" column="3">
- <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>
- </layout>
- </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 class="QWidget" name="tab_3">
- <attribute name="title">
- <string>Classifier</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_5">
- <item>
- <layout class="QGridLayout" name="gridLayout_3">
- <item row="3" column="1">
- <widget class="QLineEdit" name="cv"/>
- </item>
- <item row="2" column="4">
- <widget class="QLineEdit" name="ccost"/>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_5">
+ <item row="8" column="4">
+ <widget class="QLabel" name="label_13">
<property name="text">
- <string>n-fold cross validation</string>
+ <string>compressed</string>
</property>
</widget>
</item>
- <item row="2" column="3">
- <widget class="QLabel" name="label_10">
+ <item row="8" column="5">
+ <widget class="QComboBox" name="comboBox_compressed"/>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="label_12">
<property name="text">
- <string>CCost</string>
+ <string>Interleaved</string>
</property>
</widget>
</item>
- <item row="0" column="3">
- <widget class="QLabel" name="label_11">
+ <item row="5" column="1">
+ <widget class="QLineEdit" name="ct"/>
+ </item>
+ <item row="1" column="2">
+ <widget class="QToolButton" name="toolButton_output">
<property name="text">
- <string>Coef 0</string>
+ <string>...</string>
</property>
</widget>
</item>
- <item row="0" column="0">
+ <item row="3" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
- <string>SVM type</string>
+ <string>Output data type</string>
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QComboBox" name="svmtype"/>
- </item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="gamma"/>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="output"/>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_7">
+ <item row="10" column="0">
+ <widget class="QLabel" name="label_15">
<property name="text">
- <string>Kernel type</string>
+ <string>Ouput info on selected pixels</string>
</property>
</widget>
</item>
- <item row="0" column="4">
- <widget class="QLineEdit" name="coef0"/>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="a_srs"/>
+ </item>
+ <item row="6" column="1">
+ <widget class="QLineEdit" name="description"/>
+ </item>
+ <item row="7" column="4">
+ <widget class="QLineEdit" name="dy"/>
</item>
<item row="2" column="0">
- <widget class="QLabel" name="label_9">
+ <widget class="QLabel" name="label_5">
<property name="text">
- <string>Gamma</string>
+ <string>Assign projection (EPSG code)</string>
</property>
</widget>
</item>
- <item row="0" column="7">
- <widget class="QLineEdit" name="nu"/>
- </item>
- <item row="1" column="4">
- <widget class="QLineEdit" name="kd"/>
- </item>
- <item row="0" column="6">
- <widget class="QLabel" name="label_12">
+ <item row="8" column="2">
+ <widget class="QCheckBox" name="tiled">
<property name="text">
- <string>nu</string>
+ <string>Tiled</string>
</property>
</widget>
</item>
- <item row="0" column="2">
- <spacer name="verticalSpacer_3">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
+ <item row="7" column="5">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>dy</string>
</property>
- </spacer>
+ </widget>
</item>
- <item row="1" column="1">
- <widget class="QComboBox" name="kerneltype"/>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="otype"/>
</item>
- <item row="1" column="3">
- <widget class="QLabel" name="label_8">
+ <item row="10" column="2">
+ <widget class="QToolButton" name="toolButton_file">
<property name="text">
- <string>Kernel degree</string>
+ <string>...</string>
</property>
</widget>
</item>
- <item row="0" column="5">
- <spacer name="horizontalSpacer_5">
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Output image</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <widget class="QLineEdit" name="dstnodata"/>
+ </item>
+ <item row="8" column="3">
+ <spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@@ -361,54 +408,27 @@
</item>
</layout>
</item>
- <item>
- <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>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_4">
- <attribute name="title">
- <string>Command line</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">
+ <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>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
- <widget class="QPushButton" name="pushButton_run">
+ <widget class="QToolButton" name="toolButton_Run">
<property name="text">
<string>Run</string>
</property>
@@ -428,7 +448,7 @@
</spacer>
</item>
<item>
- <widget class="QPushButton" name="pushButton_restore">
+ <widget class="QToolButton" name="toolButton_defaults">
<property name="text">
<string>Restore defaults</string>
</property>
@@ -443,7 +463,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>628</width>
+ <width>798</width>
<height>27</height>
</rect>
</property>
@@ -451,10 +471,9 @@
<property name="title">
<string>File</string>
</property>
- <addaction name="actionInput"/>
- <addaction name="actionTraining"/>
- <addaction name="actionMask"/>
- <addaction name="actionOutput"/>
+ <addaction name="actionInput_image"/>
+ <addaction name="actionOutput_image"/>
+ <addaction name="actionQuit"/>
</widget>
<addaction name="menuFile"/>
</widget>
@@ -467,24 +486,19 @@
</attribute>
</widget>
<widget class="QStatusBar" name="statusBar"/>
- <action name="actionInput">
- <property name="text">
- <string>Input</string>
- </property>
- </action>
- <action name="actionTraining">
+ <action name="actionInput_image">
<property name="text">
- <string>Training</string>
+ <string>Input image(s)</string>
</property>
</action>
- <action name="actionMask">
+ <action name="actionOutput_image">
<property name="text">
- <string>Mask</string>
+ <string>Output image</string>
</property>
</action>
- <action name="actionOutput">
+ <action name="actionQuit">
<property name="text">
- <string>Output</string>
+ <string>Quit</string>
</property>
</action>
</widget>
diff --git a/qt/pkcomposite_gui/pkcomposite_gui.pro b/qt/pkcomposite_gui/pkcomposite_gui.pro
new file mode 100644
index 0000000..6b1ab7c
--- /dev/null
+++ b/qt/pkcomposite_gui/pkcomposite_gui.pro
@@ -0,0 +1,20 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2014-04-02T12:11:15
+#
+#-------------------------------------------------
+
+QT += core gui
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+TARGET = pkcomposite_gui
+TEMPLATE = app
+
+
+SOURCES += main.cc\
+ mainwindow.cc
+
+HEADERS += mainwindow.h
+
+FORMS += mainwindow.ui
diff --git a/qt/pksvm_gui/mainwindow.ui b/qt/pksvm_gui/mainwindow.ui
index 35c1438..9317fc3 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>2</number>
+ <number>3</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
diff --git a/src/apps/pkcomposite.cc b/src/apps/pkcomposite.cc
index a88a430..eacf35f 100644
--- a/src/apps/pkcomposite.cc
+++ b/src/apps/pkcomposite.cc
@@ -51,7 +51,7 @@ int main(int argc, char *argv[])
Optionpk<string> oformat_opt("of", "oformat", "Output image format (see also gdal_translate). Empty string: inherit from input image");
Optionpk<string> colorTable_opt("ct", "ct", "color table (file with 5 columns: id R G B ALFA (0: transparent, 255: solid)");
Optionpk<string> option_opt("co", "co", "Creation option for output file. Multiple options can be specified.");
- Optionpk<unsigned short> resample_opt("r", "resample", "Resampling method (0: nearest neighbour, 1: bi-linear interpolation).", 0);
+ Optionpk<string> resample_opt("r", "resampling-method", "Resampling method (near: nearest neighbour, bilinear: bi-linear interpolation).", "near");
Optionpk<string> description_opt("d", "description", "Set image description");
Optionpk<string> crule_opt("cr", "crule", "Composite rule for mosaic (overwrite, maxndvi, maxband, minband, mean, mode (only for byte images), median, sum", "overwrite");
Optionpk<int> ruleBand_opt("rb", "rband", "band index used for the rule (for ndvi, use --ruleBand=redBand --ruleBand=nirBand", 0);
@@ -136,17 +136,19 @@ int main(int argc, char *argv[])
bndnodata_opt.push_back(bndnodata_opt[0]);
}
RESAMPLE theResample;
- switch(resample_opt[0]){
- case(BILINEAR):
- theResample=BILINEAR;
- if(verbose_opt[0])
- cout << "resampling: bilinear interpolation" << endl;
- break;
- default:
+ if(resample_opt[0]=="near"){
theResample=NEAR;
if(verbose_opt[0])
cout << "resampling: nearest neighbour" << endl;
- break;
+ }
+ else if(resample_opt[0]=="bilinear"){
+ theResample=BILINEAR;
+ if(verbose_opt[0])
+ cout << "resampling: bilinear interpolation" << endl;
+ }
+ else{
+ std::cout << "Error: resampling method " << resample_opt[0] << " not supported" << std::endl;
+ exit(1);
}
int nband=0;
--
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