FusionWizardPage.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file terralib/qt/widgets/rp/FusionWizardPage.h
22 
23  \brief This file defines a class for a Fusion Wizard page.
24 */
25 
26 #ifndef __TERRALIB_QT_WIDGETS_RP_INTERNAL_FUSIONWIZARDPAGE_H
27 #define __TERRALIB_QT_WIDGETS_RP_INTERNAL_FUSIONWIZARDPAGE_H
28 
29 // TerraLib
30 #ifndef Q_MOC_RUN
31 #include "../../../maptools/AbstractLayer.h"
32 #include "../../../rp/IHSFusion.h"
33 #include "../../../rp/PCAFusion.h"
34 #include "../../../rp/WisperFusion.h"
35 #include "../../../qt/widgets/charts/ChartDisplay.h"
36 #include "../../../qt/widgets/charts/Scatter.h"
37 #endif
38 #include "../../../qt/widgets/charts/ScatterChart.h"
39 #include "../Config.h"
40 
41 // STL
42 #include <memory>
43 
44 // Qt
45 #include <QComboBox>
46 #include <QToolButton>
47 #include <QWizardPage>
48 
49 
50 // Forward declaration
51 namespace Ui { class FusionWizardPageForm; }
52 
53 namespace te
54 {
55  namespace qt
56  {
57  namespace widgets
58  {
60  {
64  };
65 
66  /*!
67  \class FusionWizardPage
68 
69  \brief This class is GUI used to define the fusion parameters for the RP fusion operation.
70  */
71  class TEQTWIDGETSEXPORT FusionWizardPage : public QWizardPage
72  {
73  Q_OBJECT
74 
75  public:
76 
77  FusionWizardPage(QWidget* parent = 0);
78 
80 
81  bool isComplete() const;
82 
83  public:
84 
85  /*!
86  \brief This method is used to set the selected layer for classifier operation
87 
88  \param layer The layer ptr
89 
90  \note This layer MUST HAVE a valid raster object.
91  */
93 
94  /*!
95  \brief This method is used to set the selected layer for classifier operation
96 
97  \param layer The layer ptr
98 
99  \note This layer MUST HAVE a valid raster object.
100  */
102 
103  bool isIHSFusion();
104 
105  bool isPCAFusion();
106 
108 
110 
112 
114 
116 
118 
120 
121  protected slots:
122 
124 
126 
128 
130 
131  protected:
132 
134 
135  void fillSensorTypes(QComboBox* combo);
136 
138 
140 
142 
143  std::map<double, double> getSRFMap(const int& st, std::string stName);
144 
145  private:
146 
147  std::unique_ptr<Ui::FusionWizardPageForm> m_ui;
148 
149  QDialog* m_chartDialog;
150 
152 
155 
156  std::vector<te::qt::widgets::Scatter*> m_scatterLowResVec;
157  std::vector<te::qt::widgets::ScatterChart*> m_scatterChartLowResVec;
158 
159  std::map<QComboBox*, int> m_comboMap;
160  std::map<QToolButton*, int> m_buttonMap;
161 
164  };
165 
166  } // end namespace widgets
167  } // end namespace qt
168 } // end namespace te
169 
170 #endif // __TERRALIB_QT_WIDGETS_RP_INTERNAL_FUSIONWIZARDPAGE_H
te::qt::widgets::FusionWizardPage::getOutputWisperParams
te::rp::WisperFusion::OutputParameters getOutputWisperParams()
te::qt::widgets::FusionWizardPage::getInputIHSParams
te::rp::IHSFusion::InputParameters getInputIHSParams()
te
TerraLib.
Definition: AddressGeocodingOp.h:52
te::qt::widgets::FusionWizardPage::m_scatterChartHighRes
te::qt::widgets::ScatterChart * m_scatterChartHighRes
Definition: FusionWizardPage.h:154
te::qt::widgets::FusionWizardPage::onLowCsvToolButtonClicked
void onLowCsvToolButtonClicked()
te::rp::PCAFusion::InputParameters
PCAFusion input parameters.
Definition: PCAFusion.h:59
te::qt::widgets::ScatterChart
A class to represent a scatter chart.
Definition: ScatterChart.h:56
te::map::AbstractLayerPtr
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr
Definition: AbstractLayer.h:626
te::qt::widgets::FusionWizardPage::m_layerLower
te::map::AbstractLayerPtr m_layerLower
Definition: FusionWizardPage.h:162
te::qt::widgets::FUSION_WISPER
@ FUSION_WISPER
Definition: FusionWizardPage.h:63
te::qt::widgets::FusionWizardPage::onLowResSensorTypeActivated
void onLowResSensorTypeActivated(int idx)
te::qt::widgets::FusionWizardPage::FusionWizardPage
FusionWizardPage(QWidget *parent=0)
te::qt::widgets::Scatter
A class to represent a scatter.
Definition: Scatter.h:52
te::qt::widgets::FUSION_PCA
@ FUSION_PCA
Definition: FusionWizardPage.h:62
te::rp::PCAFusion::OutputParameters
PCAFusion output parameters.
Definition: PCAFusion.h:99
te::qt::widgets::FusionWizardPage::setLower
void setLower(te::map::AbstractLayerPtr layer)
This method is used to set the selected layer for classifier operation.
te::qt::widgets::FusionWizardPage::m_chartDialog
QDialog * m_chartDialog
Definition: FusionWizardPage.h:149
te::qt::widgets::FusionWizardPage::m_chartDisplay
te::qt::widgets::ChartDisplay * m_chartDisplay
Definition: FusionWizardPage.h:151
TEQTWIDGETSEXPORT
#define TEQTWIDGETSEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:63
te::qt::widgets::FusionWizardPage::isIHSFusion
bool isIHSFusion()
te::qt::widgets::FusionWizardPage::m_scatterLowResVec
std::vector< te::qt::widgets::Scatter * > m_scatterLowResVec
Definition: FusionWizardPage.h:156
te::qt::widgets::FusionWizardPage
This class is GUI used to define the fusion parameters for the RP fusion operation.
Definition: FusionWizardPage.h:72
te::qt::widgets::FusionWizardPage::m_ui
std::unique_ptr< Ui::FusionWizardPageForm > m_ui
Definition: FusionWizardPage.h:147
te::qt::widgets::FusionWizardPage::setHigher
void setHigher(te::map::AbstractLayerPtr layer)
This method is used to set the selected layer for classifier operation.
te::qt::widgets::FUSION_IHS
@ FUSION_IHS
Definition: FusionWizardPage.h:61
te::qt::widgets::FusionWizardPage::isPCAFusion
bool isPCAFusion()
te::qt::widgets::FusionWizardPage::~FusionWizardPage
~FusionWizardPage()
Ui
Definition: ConfigInputAddressDialog.h:44
te::qt::widgets::FusionTypes
FusionTypes
Definition: FusionWizardPage.h:60
te::qt::widgets::FusionWizardPage::getInputPCAParams
te::rp::PCAFusion::InputParameters getInputPCAParams()
te::qt::widgets::FusionWizardPage::m_layerHigher
te::map::AbstractLayerPtr m_layerHigher
Definition: FusionWizardPage.h:163
te::qt::widgets::FusionWizardPage::fillSensorTypes
void fillSensorTypes(QComboBox *combo)
te::rp::WisperFusion::InputParameters
WisperFusion input parameters.
Definition: WisperFusion.h:66
te::qt::widgets::FusionWizardPage::listBandsLower
void listBandsLower()
te::qt::widgets::FusionWizardPage::m_scatterHighRes
te::qt::widgets::Scatter * m_scatterHighRes
Definition: FusionWizardPage.h:153
te::qt::widgets::FusionWizardPage::listBandsHigher
void listBandsHigher()
te::qt::widgets::FusionWizardPage::onHighCsvToolButtonClicked
void onHighCsvToolButtonClicked()
te::qt::widgets::FusionWizardPage::isComplete
bool isComplete() const
slots
#define slots
Definition: VirtualMachine.h:48
te::rp::IHSFusion::InputParameters
IHSFusion input parameters.
Definition: IHSFusion.h:66
te::qt::widgets::FusionWizardPage::getInputWisperParams
te::rp::WisperFusion::InputParameters getInputWisperParams()
te::qt::widgets::FusionWizardPage::onHighResSensorTypeActivated
void onHighResSensorTypeActivated(int idx)
te::qt::widgets::FusionWizardPage::m_comboMap
std::map< QComboBox *, int > m_comboMap
Definition: FusionWizardPage.h:159
te::qt::widgets::FusionWizardPage::isWisperFusion
bool isWisperFusion()
te::qt::widgets::FusionWizardPage::fillFusionTypes
void fillFusionTypes()
te::qt::widgets::FusionWizardPage::getOutputPCAParams
te::rp::PCAFusion::OutputParameters getOutputPCAParams()
te::rp::WisperFusion::OutputParameters
WisperFusion output parameters.
Definition: WisperFusion.h:120
te::qt::widgets::FusionWizardPage::m_buttonMap
std::map< QToolButton *, int > m_buttonMap
Definition: FusionWizardPage.h:160
te::qt::widgets::FusionWizardPage::getOutputIHSParams
te::rp::IHSFusion::OutputParameters getOutputIHSParams()
te::qt::widgets::ChartDisplay
A class to represent a chart display.
Definition: ChartDisplay.h:66
te::qt::widgets::FusionWizardPage::m_scatterChartLowResVec
std::vector< te::qt::widgets::ScatterChart * > m_scatterChartLowResVec
Definition: FusionWizardPage.h:157
te::rp::IHSFusion::OutputParameters
IHSFusion output parameters.
Definition: IHSFusion.h:114
te::qt::widgets::FusionWizardPage::getSRFMap
std::map< double, double > getSRFMap(const int &st, std::string stName)
te::qt::widgets::FusionWizardPage::fillWaveletTypes
void fillWaveletTypes()