114 #ifndef __TERRALIB_QT_WIDGETS_RP_INTERNAL_MIXTUREMODELWIZARDPAGE_H
115 #define __TERRALIB_QT_WIDGETS_RP_INTERNAL_MIXTUREMODELWIZARDPAGE_H
118 #include "../../../classification/ROISet.h"
119 #include "../../../color/RGBAColor.h"
120 #include "../../../geometry/Geometry.h"
122 #include "../../../maptools/AbstractLayer.h"
123 #include "../../../qt/widgets/canvas/MapDisplay.h"
124 #include "../../../qt/widgets/charts/ChartDisplay.h"
125 #include "../../../qt/widgets/charts/ChartDisplayWidget.h"
126 #include "../../../qt/widgets/charts/ChartStyle.h"
127 #include "../../../raster/Raster.h"
128 #include "../../../rp/Functions.h"
129 #include "../../../rp/MixtureModel.h"
131 #include "../Config.h"
138 #include <QWizardPage>
139 #include <QTableWidget>
140 #include <QActionGroup>
141 #include <qgridlayout.h>
142 #include <QSignalMapper>
143 #include <QTreeWidget>
144 #include <QTreeWidgetItem>
147 #include <qwt_plot_curve.h>
150 namespace Ui {
class MixtureModelWizardPageForm; }
154 namespace se {
class Mark; }
161 class SensorManagerDialog;
162 class ROIManagerDialog;
179 MIXMODEL_LINEAR_RLS3T
208 void set(std::list<te::map::AbstractLayerPtr> layers);
214 std::list<te::map::AbstractLayerPtr>
get();
233 return m_transfMatrix;
290 std::unique_ptr<Ui::MixtureModelWizardPageForm>
m_ui;
A ROISet is a set of ROI's.
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.
An Envelope defines a 2D rectangular region.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
This class is GUI used to define the mixture model parameters for the RP constast operation.
void loadMixtureModelComponents(const std::string &fileName)
void addGeometryComponent()
QColor m_color
Current component color.
void fillMixtureModelTypes()
void PlotSpectralSignature()
std::vector< double > m_maxValue
vector to store maximum value of each band
~MixtureModelWizardPage()
MixtureModelWizardPage(QWidget *parent=0)
void onMapDisplayExtentChanged()
void onLoadToolButtonClicked()
void set(std::list< te::map::AbstractLayerPtr > layers)
This method is used to set the selected layer for mixture model operation.
std::list< te::map::AbstractLayerPtr > m_layers
list of input layers
std::list< te::map::AbstractLayerPtr > get()
te::color::RGBAColor ** m_rgbaMark
component color
void onEnvelopeAcquired(te::gm::Envelope env)
void onGeomAquired(te::gm::Polygon *poly)
void showROIManager(bool show)
std::string m_json_out
Json filename to save components.
void setActionGroup(QActionGroup *actionGroup)
QSignalMapper m_ButtonSignalMapper
te::rp::MixtureModel::InputParameters getInputParams()
std::map< std::string, te::rp::SpectralSensorParams > m_SensorParams
map with sensor parameters
void oncolorToolButtonClicked()
void onMixturetypeChanged()
void onSaveToolButtonClicked()
void saveMixtureModelComponents()
te::qt::widgets::SensorManagerDialog * m_sensorManagerDialog
Dialog to select/edit spectral sensors.
te::gm::Geometry * m_geom
Current geometry/envelope component.
MixModelTypes
Available Algorithms for Mixture Model.
@ MIXMODEL_LINEAR
Linear (Least Square Method).
@ MIXMODEL_PCA
Principal Components Mixture Model.
void onPointPicked(double x, double y)
void onMixturetabChanged(int)
void onselectedEnabled(bool)
void onROIManagerClosed(te::cl::ROISet *rs)
std::unique_ptr< te::qt::widgets::ROIManagerDialog > m_roiMngDlg
te::rp::MixtureModel::OutputParameters getOutputParams()
std::unique_ptr< te::qt::widgets::RpToolsWidget > m_navigator
boost::numeric::ublas::matrix< double > m_transfMatrix
Transformation matrix;.
std::string m_comp
Current component.
void oncomponentChanged()
te::qt::widgets::MapDisplay * m_mapDisplay
int m_type
algorithm mixture model type (MIXMODEL_LINEAR or MIXMODEL_PCA)
void onRemoveToolButtonClicked()
boost::numeric::ublas::matrix< double > getTransfMatrix()
void printTransMatrix() const
void onComponentItemClicked(QTreeWidgetItem *item, int column)
void setMapDisplay(te::qt::widgets::MapDisplay *mapDisplay)
std::unique_ptr< Ui::MixtureModelWizardPageForm > m_ui
std::map< std::string, MixModelComponent > m_components
The map of selected components.
te::cl::ROISet * getROISet()
te::qt::widgets::ChartDisplayWidget * m_displayWidget
te::se::Mark * m_mark
component point mark type
double GetMediumWavelength(std::string sensor)
void onSensorToolButtonClicked(int)
unsigned int m_countComponents
The maximum number of components inserted.
MixtureModel output parameters.
A Mark specifies a geometric shape and applies coloring to it.
Defines component attributes.
te::gm::Geometry * m_geomGeo
component coordinates in geografic coordinates
std::vector< double > m_values
raster values
te::color::RGBAColor m_color
color
te::gm::Geometry * m_geomGrid
component coordinades in raster lineXcolumn