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;
198 bool isComplete()
const;
207 void set(std::list<te::map::AbstractLayerPtr> layers);
211 void setActionGroup(QActionGroup* actionGroup);
213 std::list<te::map::AbstractLayerPtr>
get();
221 void saveMixtureModelComponents();
223 void loadMixtureModelComponents(
const std::string &fileName);
225 void updateComponents();
229 void onMapDisplayExtentChanged();
232 return m_transfMatrix;
239 void onMixturetypeChanged();
241 void onMixturetabChanged(
int);
243 void onSaveToolButtonClicked();
245 void onLoadToolButtonClicked();
247 void onPointPicked(
double x,
double y);
253 void onRemoveToolButtonClicked();
255 void onComponentItemClicked(QTreeWidgetItem * item,
int column);
256 void oncomponentChanged();
257 void oncolorToolButtonClicked();
258 void onselectedEnabled(
bool);
259 void onallEnabled(
bool);
263 void onSensorToolButtonClicked(
int);
264 void onBandItemClicked();
266 void showROIManager(
bool show);
272 void fillMixtureModelTypes();
278 void PlotSpectralSignature();
280 double GetMediumWavelength(std::string sensor);
282 void addGeometryComponent();
283 void addPointComponent();
284 void clearComponents();
287 std::unique_ptr<Ui::MixtureModelWizardPageForm>
m_ui;
326 #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::unique_ptr< te::qt::widgets::ROIManagerDialog > m_roiMngDlg
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
A ROISet is a set of ROI's.
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