76 #ifndef __TERRALIB_QT_WIDGETS_RP_INTERNAL_MIXTUREMODELWIZARDPAGE_H
77 #define __TERRALIB_QT_WIDGETS_RP_INTERNAL_MIXTUREMODELWIZARDPAGE_H
80 #include "../../../color/RGBAColor.h"
81 #include "../../../geometry/Geometry.h"
83 #include "../../../maptools/AbstractLayer.h"
84 #include "../../../qt/widgets/canvas/MapDisplay.h"
85 #include "../../../qt/widgets/charts/ChartDisplay.h"
86 #include "../../../qt/widgets/charts/ChartDisplayWidget.h"
87 #include "../../../qt/widgets/charts/ChartStyle.h"
88 #include "../../../raster/Raster.h"
89 #include "../../../rp/Functions.h"
90 #include "../../../rp/MixtureModel.h"
92 #include "../Config.h"
99 #include <QWizardPage>
100 #include <QTableWidget>
101 #include <QActionGroup>
102 #include <qgridlayout.h>
103 #include <QSignalMapper>
104 #include <QTreeWidget>
105 #include <QTreeWidgetItem>
108 #include <qwt_plot_curve.h>
111 namespace Ui {
class MixtureModelWizardPageForm; }
115 namespace se {
class Mark; }
122 class SensorManagerDialog;
154 bool isComplete()
const;
163 void set(std::list<te::map::AbstractLayerPtr> layers);
167 void setActionGroup(QActionGroup* actionGroup);
169 std::list<te::map::AbstractLayerPtr>
get();
177 void saveMixtureModelComponents(std::string &fileName);
179 void loadMixtureModelComponents(std::string &fileName);
181 void updateComponents();
187 void onMixturetabChanged(
int);
189 void onSaveToolButtonClicked();
191 void onLoadToolButtonClicked();
193 void onMapDisplayExtentChanged();
195 void onPointPicked(
double x,
double y);
201 void onRemoveToolButtonClicked();
203 void onComponentItemClicked(QTreeWidgetItem * item,
int column);
204 void oncomponentChanged();
205 void oncolorToolButtonClicked();
206 void onselectedEnabled(
bool);
207 void onallEnabled(
bool);
211 void onSensorToolButtonClicked(
int);
212 void onBandItemClicked();
216 void fillMixtureModelTypes();
222 void PlotSpectralSignature();
224 double GetMediumWavelength(std::string sensor);
226 void addGeometryComponent();
234 std::auto_ptr<Ui::MixtureModelWizardPageForm>
m_ui;
260 #endif // __TERRALIB_QT_WIDGETS_RP_INTERNAL_MIXTUREMODELWIZARDPAGE_H
te::color::RGBAColor ** m_rgbaMark
std::list< te::map::AbstractLayerPtr > m_layers
std::map< std::string, te::rp::SpectralSensorParams > m_SensorParams
A Mark specifies a geometric shape and applies coloring to it.
te::gm::Geometry * m_geomGeo
std::vector< double > m_values
unsigned int m_countComponents
The maximum number of components inserted.
te::gm::Geometry * m_geomGrid
This class is GUI used to define the mixture model parameters for the RP constast operation...
te::qt::widgets::ChartDisplayWidget * m_displayWidget
An Envelope defines a 2D rectangular region.
std::map< std::string, MixModelComponent > m_components
The map of selected components.
std::auto_ptr< Ui::MixtureModelWizardPageForm > m_ui
te::gm::Geometry * m_geom
std::auto_ptr< te::qt::widgets::RpToolsWidget > m_navigator
std::vector< double > m_maxValue
vector to store maximum value of each band
QSignalMapper m_ButtonSignalMapper
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
MixtureModel output parameters.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
te::qt::widgets::SensorManagerDialog * m_sensorManagerDialog
te::qt::widgets::MapDisplay * m_mapDisplay
te::color::RGBAColor m_color