114 #ifndef __TERRALIB_QT_WIDGETS_RP_INTERNAL_MIXTUREMODELWIZARDPAGE_H 115 #define __TERRALIB_QT_WIDGETS_RP_INTERNAL_MIXTUREMODELWIZARDPAGE_H 118 #include "../../../color/RGBAColor.h" 119 #include "../../../geometry/Geometry.h" 121 #include "../../../maptools/AbstractLayer.h" 122 #include "../../../qt/widgets/canvas/MapDisplay.h" 123 #include "../../../qt/widgets/charts/ChartDisplay.h" 124 #include "../../../qt/widgets/charts/ChartDisplayWidget.h" 125 #include "../../../qt/widgets/charts/ChartStyle.h" 126 #include "../../../raster/Raster.h" 127 #include "../../../rp/Functions.h" 128 #include "../../../rp/MixtureModel.h" 130 #include "../Config.h" 137 #include <QWizardPage> 138 #include <QTableWidget> 139 #include <QActionGroup> 140 #include <qgridlayout.h> 141 #include <QSignalMapper> 142 #include <QTreeWidget> 143 #include <QTreeWidgetItem> 146 #include <qwt_plot_curve.h> 149 namespace Ui {
class MixtureModelWizardPageForm; }
153 namespace se {
class Mark; }
160 class SensorManagerDialog;
196 bool isComplete()
const;
205 void set(std::list<te::map::AbstractLayerPtr> layers);
209 void setActionGroup(QActionGroup* actionGroup);
211 std::list<te::map::AbstractLayerPtr>
get();
219 void saveMixtureModelComponents();
221 void loadMixtureModelComponents(
const std::string &fileName);
223 void updateComponents();
227 void onMapDisplayExtentChanged();
230 return m_transfMatrix;
235 void onMixturetypeChanged();
237 void onMixturetabChanged(
int);
239 void onSaveToolButtonClicked();
241 void onLoadToolButtonClicked();
243 void onPointPicked(
double x,
double y);
249 void onRemoveToolButtonClicked();
251 void onComponentItemClicked(QTreeWidgetItem * item,
int column);
252 void oncomponentChanged();
253 void oncolorToolButtonClicked();
254 void onselectedEnabled(
bool);
255 void onallEnabled(
bool);
259 void onSensorToolButtonClicked(
int);
260 void onBandItemClicked();
264 void fillMixtureModelTypes();
270 void PlotSpectralSignature();
272 double GetMediumWavelength(std::string sensor);
274 void addGeometryComponent();
275 void addPointComponent();
276 void clearComponents();
284 std::unique_ptr<Ui::MixtureModelWizardPageForm>
m_ui;
314 #endif // __TERRALIB_QT_WIDGETS_RP_INTERNAL_MIXTUREMODELWIZARDPAGE_H te::color::RGBAColor ** m_rgbaMark
component color
std::list< te::map::AbstractLayerPtr > m_layers
list of input layers
std::map< std::string, te::rp::SpectralSensorParams > m_SensorParams
map with sensor parameters
A Mark specifies a geometric shape and applies coloring to it.
te::gm::Geometry * m_geomGeo
component coordinates in geografic coordinates
std::vector< double > m_values
raster values
unsigned int m_countComponents
The maximum number of components inserted.
boost::numeric::ublas::matrix< double > m_transfMatrix
Transformation matrix;.
te::gm::Geometry * m_geomGrid
component coordinades in raster lineXcolumn
This class is GUI used to define the mixture model parameters for the RP constast operation...
te::qt::widgets::ChartDisplayWidget * m_displayWidget
int m_type
algorithm mixture model type (MIXMODEL_LINEAR or MIXMODEL_PCA)
An Envelope defines a 2D rectangular region.
std::map< std::string, MixModelComponent > m_components
The map of selected components.
te::gm::Geometry * m_geom
Current geometry/envelope component.
std::vector< double > m_maxValue
vector to store maximum value of each band
te::se::Mark * m_mark
component point mark type
QSignalMapper m_ButtonSignalMapper
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
std::string m_json_out
Json filename to save components.
std::unique_ptr< Ui::MixtureModelWizardPageForm > m_ui
MixtureModel output parameters.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
Defines component attributes.
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
std::string m_comp
Current component.
MixModelTypes
Available Algorithms for Mixture Model.
te::qt::widgets::SensorManagerDialog * m_sensorManagerDialog
Dialog to select/edit spectral sensors.
QColor m_color
Current component color.
std::unique_ptr< te::qt::widgets::RpToolsWidget > m_navigator
boost::numeric::ublas::matrix< double > getTransfMatrix()
te::qt::widgets::MapDisplay * m_mapDisplay
te::color::RGBAColor m_color
color