This class is GUI used to define the mixture model parameters for the RP constast operation. More...
#include <MixtureModelWizardPage.h>
Classes | |
| struct | MixModelComponent |
| Defines component attributes. More... | |
Public Slots | |
| void | drawGeom () |
| void | onallEnabled (bool) |
| void | onBandItemClicked () |
| void | oncolorToolButtonClicked () |
| void | oncomponentChanged () |
| void | onComponentItemClicked (QTreeWidgetItem *item, int column) |
| void | onEnvelopeAcquired (te::gm::Envelope env) |
| void | onGeomAquired (te::gm::Polygon *poly) |
| void | onLoadToolButtonClicked () |
| void | onMixturetabChanged (int) |
| void | onMixturetypeChanged () |
| void | onPointPicked (double x, double y) |
| void | onRemoveToolButtonClicked () |
| void | onSaveToolButtonClicked () |
| void | onselectedEnabled (bool) |
| void | onSensorToolButtonClicked (int) |
Public Member Functions | |
| void | clearCanvas () |
| std::list< te::map::AbstractLayerPtr > | get () |
| te::rp::MixtureModel::InputParameters | getInputParams () |
| te::rp::MixtureModel::OutputParameters | getOutputParams () |
| boost::numeric::ublas::matrix< double > | getTransfMatrix () |
| bool | isComplete () const |
| bool | isDecompose () |
| void | loadMixtureModelComponents (const std::string &fileName) |
| MixtureModelWizardPage (QWidget *parent=0) | |
| void | onMapDisplayExtentChanged () |
| void | saveMixtureModelComponents () |
| void | set (std::list< te::map::AbstractLayerPtr > layers) |
| This method is used to set the selected layer for mixture model operation. More... | |
| void | setActionGroup (QActionGroup *actionGroup) |
| void | setMapDisplay (te::qt::widgets::MapDisplay *mapDisplay) |
| void | updateComponents () |
| ~MixtureModelWizardPage () | |
Protected Member Functions | |
| void | addGeometryComponent () |
| void | addPointComponent () |
| void | clearComponents () |
| void | drawMarks () |
| void | fillMixtureModelTypes () |
| double | GetMediumWavelength (std::string sensor) |
| void | listBands () |
| void | PlotSpectralSignature () |
Private Types | |
| enum | MixModelTypes { MIXMODEL_LINEAR, MIXMODEL_PCA } |
| Available Algorithms for Mixture Model. More... | |
Private Attributes | |
| int | m_bandindex |
| QSignalMapper | m_ButtonSignalMapper |
| QColor | m_color |
| Current component color. More... | |
| std::string | m_comp |
| Current component. More... | |
| std::map< std::string, MixModelComponent > | m_components |
| The map of selected components. More... | |
| unsigned int | m_countComponents |
| The maximum number of components inserted. More... | |
| te::qt::widgets::ChartDisplayWidget * | m_displayWidget |
| te::gm::Geometry * | m_geom |
| Current geometry/envelope component. More... | |
| std::string | m_json_out |
| Json filename to save components. More... | |
| std::list< te::map::AbstractLayerPtr > | m_layers |
| list of input layers More... | |
| QGridLayout * | m_layoutg |
| te::qt::widgets::MapDisplay * | m_mapDisplay |
| te::se::Mark * | m_mark |
| component point mark type More... | |
| std::vector< double > | m_maxValue |
| vector to store maximum value of each band More... | |
| std::unique_ptr< te::qt::widgets::RpToolsWidget > | m_navigator |
| te::color::RGBAColor ** | m_rgbaMark |
| component color More... | |
| te::qt::widgets::SensorManagerDialog * | m_sensorManagerDialog |
| Dialog to select/edit spectral sensors. More... | |
| std::map< std::string, te::rp::SpectralSensorParams > | m_SensorParams |
| map with sensor parameters More... | |
| boost::numeric::ublas::matrix< double > | m_transfMatrix |
| Transformation matrix;. More... | |
| int | m_type |
| algorithm mixture model type (MIXMODEL_LINEAR or MIXMODEL_PCA) More... | |
| std::unique_ptr< Ui::MixtureModelWizardPageForm > | m_ui |
This class is GUI used to define the mixture model parameters for the RP constast operation.
Definition at line 167 of file MixtureModelWizardPage.h.
Available Algorithms for Mixture Model.
| Enumerator | |
|---|---|
| MIXMODEL_LINEAR |
Linear Mixture Model. |
| MIXMODEL_PCA |
Principal Components Mixture Model. |
Definition at line 173 of file MixtureModelWizardPage.h.
| te::qt::widgets::MixtureModelWizardPage::MixtureModelWizardPage | ( | QWidget * | parent = 0 | ) |
Definition at line 84 of file MixtureModelWizardPage.cpp.
References te::qt::widgets::ChartDisplay::adjustDisplay(), te::se::CreateFill(), te::se::CreateMark(), te::se::CreateStroke(), fillMixtureModelTypes(), te::common::Singleton< MarkRendererManager >::getInstance(), m_color, m_displayWidget, m_layoutg, m_mark, m_navigator, m_rgbaMark, m_sensorManagerDialog, m_ui, onallEnabled(), oncolorToolButtonClicked(), oncomponentChanged(), onComponentItemClicked(), onEnvelopeAcquired(), onGeomAquired(), onLoadToolButtonClicked(), onMixturetabChanged(), onMixturetypeChanged(), onPointPicked(), onRemoveToolButtonClicked(), onSaveToolButtonClicked(), onselectedEnabled(), PATTERN_SIZE, te::qt::widgets::ChartStyle::setAxisX(), te::qt::widgets::ChartStyle::setAxisY(), te::qt::widgets::ChartStyle::setGridChecked(), and te::qt::widgets::ChartStyle::setTitle().
| te::qt::widgets::MixtureModelWizardPage::~MixtureModelWizardPage | ( | ) |
Definition at line 172 of file MixtureModelWizardPage.cpp.
References clearComponents(), te::common::Free(), m_mark, m_rgbaMark, m_sensorManagerDialog, and PATTERN_SIZE.
|
protected |
Definition at line 1206 of file MixtureModelWizardPage.cpp.
References b, te::dt::AbstractData::clone(), ds, te::rst::PolygonIterator< T >::end(), te::rst::PolygonIterator< T >::getColumn(), te::gm::CurvePolygon::getExteriorRing(), te::da::GetFirstPropertyPos(), te::gm::LineString::getNPoints(), te::gm::LineString::getPointN(), te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_color, m_color, m_comp, m_components, m_geom, te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_geomGeo, te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_geomGrid, m_layers, te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_name, m_ui, te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_values, te::dt::RASTER_TYPE, te::rst::Round(), te::color::RGBAColor::setColor(), te::gm::LineString::setX(), te::gm::LineString::setY(), updateComponents(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
Referenced by loadMixtureModelComponents(), onEnvelopeAcquired(), and onGeomAquired().
|
protected |
Definition at line 655 of file MixtureModelWizardPage.cpp.
References b, ds, te::da::GetFirstPropertyPos(), te::map::MapDisplay::getSRID(), te::gm::Point::getX(), te::gm::Point::getY(), te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_color, m_color, m_components, m_geom, te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_geomGeo, te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_geomGrid, m_layers, m_mapDisplay, te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_name, m_ui, te::qt::widgets::MixtureModelWizardPage::MixModelComponent::m_values, te::dt::RASTER_TYPE, te::rst::Round(), te::color::RGBAColor::setColor(), te::gm::Point::transform(), updateComponents(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
Referenced by loadMixtureModelComponents(), and onPointPicked().
| void te::qt::widgets::MixtureModelWizardPage::clearCanvas | ( | ) |
Definition at line 817 of file MixtureModelWizardPage.cpp.
References te::qt::widgets::Canvas::clear(), te::qt::widgets::MapDisplay::getDraftPixmap(), and m_mapDisplay.
|
protected |
Definition at line 182 of file MixtureModelWizardPage.cpp.
References m_components.
Referenced by loadMixtureModelComponents(), and ~MixtureModelWizardPage().
|
slot |
Definition at line 812 of file MixtureModelWizardPage.cpp.
References drawMarks().
|
protected |
Definition at line 912 of file MixtureModelWizardPage.cpp.
References te::qt::widgets::MapDisplay::getDraftPixmap(), te::map::MapDisplay::getExtent(), te::map::MapDisplay::getSRID(), te::gm::Geometry::getSRID(), m_comp, m_components, te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, m_mapDisplay, m_rgbaMark, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, PATTERN_SIZE, te::qt::widgets::Canvas::setWindow(), te::gm::Point::transform(), and te::gm::CurvePolygon::transform().
Referenced by drawGeom(), onComponentItemClicked(), onMapDisplayExtentChanged(), and updateComponents().
|
protected |
Definition at line 826 of file MixtureModelWizardPage.cpp.
References m_ui, MIXMODEL_LINEAR, and MIXMODEL_PCA.
Referenced by MixtureModelWizardPage().
| std::list< te::map::AbstractLayerPtr > te::qt::widgets::MixtureModelWizardPage::get | ( | ) |
Definition at line 250 of file MixtureModelWizardPage.cpp.
References m_layers.
| te::rp::MixtureModel::InputParameters te::qt::widgets::MixtureModelWizardPage::getInputParams | ( | ) |
Definition at line 255 of file MixtureModelWizardPage.cpp.
References te::rp::MixtureModel::InputParameters::m_components, m_components, te::rp::MixtureModel::InputParameters::m_inputRasterBands, te::rp::MixtureModel::InputParameters::m_inputRasterNoDataValues, te::rp::MixtureModel::InputParameters::m_inputSensorBands, te::rp::MixtureModel::InputParameters::m_strategyName, m_ui, MIXMODEL_LINEAR, MIXMODEL_PCA, and te::rp::MixtureModel::InputParameters::setMixtureModelStrategyParams().
Referenced by saveMixtureModelComponents().
|
protected |
Definition at line 1147 of file MixtureModelWizardPage.cpp.
References te::rp::SpectralSensorParams::m_lower, m_SensorParams, and te::rp::SpectralSensorParams::m_upper.
Referenced by PlotSpectralSignature().
| te::rp::MixtureModel::OutputParameters te::qt::widgets::MixtureModelWizardPage::getOutputParams | ( | ) |
Definition at line 328 of file MixtureModelWizardPage.cpp.
References te::rp::MixtureModel::OutputParameters::m_createErrorRaster, te::rp::MixtureModel::OutputParameters::m_normalizeOutput, te::rp::MixtureModel::OutputParameters::m_normalMax, te::rp::MixtureModel::OutputParameters::m_normalMin, and m_ui.
|
inline |
Definition at line 229 of file MixtureModelWizardPage.h.
References slots.
| bool te::qt::widgets::MixtureModelWizardPage::isComplete | ( | ) | const |
Definition at line 195 of file MixtureModelWizardPage.cpp.
References m_components, and m_ui.
| bool te::qt::widgets::MixtureModelWizardPage::isDecompose | ( | ) |
Definition at line 323 of file MixtureModelWizardPage.cpp.
References m_ui.
|
protected |
Definition at line 834 of file MixtureModelWizardPage.cpp.
References b, ds, te::da::GetFirstPropertyPos(), te::rp::getSensorParams(), m_ButtonSignalMapper, m_layers, m_maxValue, m_SensorParams, m_ui, onBandItemClicked(), onSensorToolButtonClicked(), and te::dt::RASTER_TYPE.
Referenced by set().
| void te::qt::widgets::MixtureModelWizardPage::loadMixtureModelComponents | ( | const std::string & | fileName | ) |
Definition at line 461 of file MixtureModelWizardPage.cpp.
References addGeometryComponent(), addPointComponent(), band, clearComponents(), te::gm::Envelope::contains(), te::gm::Geometry::getMBR(), te::map::GetRaster(), te::gm::LineStringType, m_color, m_components, m_geom, m_layers, m_transfMatrix, m_type, m_ui, MIXMODEL_LINEAR, MIXMODEL_PCA, te::gm::PolygonType, te::gm::LineString::setPointN(), te::gm::CurvePolygon::setRingN(), updateComponents(), and te::common::Exception::what().
Referenced by onLoadToolButtonClicked().
|
slot |
Definition at line 1187 of file MixtureModelWizardPage.cpp.
References PlotSpectralSignature().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 1345 of file MixtureModelWizardPage.cpp.
References updateComponents().
Referenced by listBands().
|
slot |
Definition at line 1158 of file MixtureModelWizardPage.cpp.
References m_color, m_components, m_ui, te::color::RGBAColor::setColor(), and updateComponents().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 1153 of file MixtureModelWizardPage.cpp.
References updateComponents().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 1030 of file MixtureModelWizardPage.cpp.
References drawMarks(), m_color, m_comp, m_components, m_ui, and PlotSpectralSignature().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 744 of file MixtureModelWizardPage.cpp.
References addGeometryComponent(), te::gm::GetGeomFromEnvelope(), te::map::MapDisplay::getSRID(), te::gm::Envelope::isValid(), m_geom, m_layers, m_mapDisplay, and te::gm::Envelope::transform().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 760 of file MixtureModelWizardPage.cpp.
References addGeometryComponent(), te::map::MapDisplay::getSRID(), te::gm::Geometry::isValid(), m_geom, m_layers, m_mapDisplay, and te::gm::CurvePolygon::transform().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 633 of file MixtureModelWizardPage.cpp.
References loadMixtureModelComponents().
Referenced by MixtureModelWizardPage().
| void te::qt::widgets::MixtureModelWizardPage::onMapDisplayExtentChanged | ( | ) |
Definition at line 641 of file MixtureModelWizardPage.cpp.
References drawMarks(), and m_components.
|
slot |
Definition at line 1200 of file MixtureModelWizardPage.cpp.
References updateComponents().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 1193 of file MixtureModelWizardPage.cpp.
References m_transfMatrix.
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 647 of file MixtureModelWizardPage.cpp.
References addPointComponent(), te::map::MapDisplay::getSRID(), m_geom, and m_mapDisplay.
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 775 of file MixtureModelWizardPage.cpp.
References m_components, m_ui, and updateComponents().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 625 of file MixtureModelWizardPage.cpp.
References m_json_out, and saveMixtureModelComponents().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 1181 of file MixtureModelWizardPage.cpp.
References PlotSpectralSignature().
Referenced by MixtureModelWizardPage().
|
slot |
Definition at line 1313 of file MixtureModelWizardPage.cpp.
References te::qt::widgets::SensorManagerDialog::getSelectedSensor(), te::rp::getSensorParams(), te::qt::widgets::SensorManagerDialog::isModified(), m_sensorManagerDialog, m_SensorParams, and m_ui.
Referenced by listBands().
|
protected |
Definition at line 1061 of file MixtureModelWizardPage.cpp.
References te::qt::widgets::ChartDisplay::adjustDisplay(), GetMediumWavelength(), insert(), m_components, m_displayWidget, m_layoutg, m_maxValue, m_ui, te::qt::widgets::ChartStyle::setAxisX(), te::qt::widgets::ChartStyle::setAxisY(), te::qt::widgets::ChartStyle::setGridChecked(), te::qt::widgets::ChartStyle::setTitle(), and te::map::SolidLine.
Referenced by onallEnabled(), onComponentItemClicked(), onselectedEnabled(), and updateComponents().
| void te::qt::widgets::MixtureModelWizardPage::saveMixtureModelComponents | ( | ) |
Definition at line 340 of file MixtureModelWizardPage.cpp.
References b, band, compose::bands, te::rp::MixtureModel::generateTransformMatrix(), te::gm::CurvePolygon::getExteriorRing(), getInputParams(), te::gm::LineString::getNPoints(), te::gm::LineString::getPointN(), te::map::GetRaster(), te::gm::Point::getX(), te::gm::Point::getY(), te::rp::MixtureModel::initialize(), te::rp::MixtureModel::InputParameters::m_components, m_components, te::rp::MixtureModel::InputParameters::m_inputRasterBands, te::rp::MixtureModel::InputParameters::m_inputRasterPtr, m_json_out, m_layers, te::rp::MixtureModel::InputParameters::m_strategyName, m_transfMatrix, and m_ui.
Referenced by onSaveToolButtonClicked().
| void te::qt::widgets::MixtureModelWizardPage::set | ( | std::list< te::map::AbstractLayerPtr > | layers | ) |
This method is used to set the selected layer for mixture model operation.
| layer | The layer ptr |
Definition at line 225 of file MixtureModelWizardPage.cpp.
References listBands(), m_layers, and m_ui.
| void te::qt::widgets::MixtureModelWizardPage::setActionGroup | ( | QActionGroup * | actionGroup | ) |
Definition at line 241 of file MixtureModelWizardPage.cpp.
References m_navigator.
| void te::qt::widgets::MixtureModelWizardPage::setMapDisplay | ( | te::qt::widgets::MapDisplay * | mapDisplay | ) |
Definition at line 235 of file MixtureModelWizardPage.cpp.
References m_mapDisplay, and m_navigator.
| void te::qt::widgets::MixtureModelWizardPage::updateComponents | ( | ) |
Definition at line 983 of file MixtureModelWizardPage.cpp.
References drawMarks(), m_components, m_maxValue, m_transfMatrix, m_ui, and PlotSpectralSignature().
Referenced by addGeometryComponent(), addPointComponent(), loadMixtureModelComponents(), onBandItemClicked(), oncolorToolButtonClicked(), oncomponentChanged(), onMixturetabChanged(), and onRemoveToolButtonClicked().
|
private |
Definition at line 287 of file MixtureModelWizardPage.h.
|
private |
Definition at line 279 of file MixtureModelWizardPage.h.
Referenced by listBands().
|
private |
Current component color.
Definition at line 301 of file MixtureModelWizardPage.h.
Referenced by addGeometryComponent(), addPointComponent(), loadMixtureModelComponents(), MixtureModelWizardPage(), oncolorToolButtonClicked(), and onComponentItemClicked().
|
private |
Current component.
Definition at line 303 of file MixtureModelWizardPage.h.
Referenced by addGeometryComponent(), drawMarks(), and onComponentItemClicked().
|
private |
The map of selected components.
Definition at line 289 of file MixtureModelWizardPage.h.
Referenced by addGeometryComponent(), addPointComponent(), clearComponents(), drawMarks(), getInputParams(), isComplete(), loadMixtureModelComponents(), oncolorToolButtonClicked(), onComponentItemClicked(), onMapDisplayExtentChanged(), onRemoveToolButtonClicked(), PlotSpectralSignature(), saveMixtureModelComponents(), and updateComponents().
|
private |
The maximum number of components inserted.
Definition at line 290 of file MixtureModelWizardPage.h.
|
private |
Definition at line 299 of file MixtureModelWizardPage.h.
Referenced by MixtureModelWizardPage(), and PlotSpectralSignature().
|
private |
Current geometry/envelope component.
Definition at line 302 of file MixtureModelWizardPage.h.
Referenced by addGeometryComponent(), addPointComponent(), loadMixtureModelComponents(), onEnvelopeAcquired(), onGeomAquired(), and onPointPicked().
|
private |
Json filename to save components.
Definition at line 305 of file MixtureModelWizardPage.h.
Referenced by onSaveToolButtonClicked(), and saveMixtureModelComponents().
|
private |
list of input layers
Definition at line 292 of file MixtureModelWizardPage.h.
Referenced by addGeometryComponent(), addPointComponent(), get(), listBands(), loadMixtureModelComponents(), onEnvelopeAcquired(), onGeomAquired(), saveMixtureModelComponents(), and set().
|
private |
Definition at line 300 of file MixtureModelWizardPage.h.
Referenced by MixtureModelWizardPage(), and PlotSpectralSignature().
|
private |
Definition at line 297 of file MixtureModelWizardPage.h.
Referenced by addPointComponent(), clearCanvas(), drawMarks(), onEnvelopeAcquired(), onGeomAquired(), onPointPicked(), and setMapDisplay().
|
private |
component point mark type
Definition at line 295 of file MixtureModelWizardPage.h.
Referenced by MixtureModelWizardPage(), and ~MixtureModelWizardPage().
|
private |
vector to store maximum value of each band
Definition at line 293 of file MixtureModelWizardPage.h.
Referenced by listBands(), PlotSpectralSignature(), and updateComponents().
|
private |
Definition at line 285 of file MixtureModelWizardPage.h.
Referenced by MixtureModelWizardPage(), setActionGroup(), and setMapDisplay().
|
private |
component color
Definition at line 294 of file MixtureModelWizardPage.h.
Referenced by drawMarks(), MixtureModelWizardPage(), and ~MixtureModelWizardPage().
|
private |
Dialog to select/edit spectral sensors.
Definition at line 281 of file MixtureModelWizardPage.h.
Referenced by MixtureModelWizardPage(), onSensorToolButtonClicked(), and ~MixtureModelWizardPage().
|
private |
map with sensor parameters
Definition at line 282 of file MixtureModelWizardPage.h.
Referenced by GetMediumWavelength(), listBands(), and onSensorToolButtonClicked().
|
private |
Transformation matrix;.
Definition at line 306 of file MixtureModelWizardPage.h.
Referenced by loadMixtureModelComponents(), onMixturetypeChanged(), saveMixtureModelComponents(), and updateComponents().
|
private |
algorithm mixture model type (MIXMODEL_LINEAR or MIXMODEL_PCA)
Definition at line 307 of file MixtureModelWizardPage.h.
Referenced by loadMixtureModelComponents().
|
private |
Definition at line 284 of file MixtureModelWizardPage.h.
Referenced by addGeometryComponent(), addPointComponent(), fillMixtureModelTypes(), getInputParams(), getOutputParams(), isComplete(), isDecompose(), listBands(), loadMixtureModelComponents(), MixtureModelWizardPage(), oncolorToolButtonClicked(), onComponentItemClicked(), onRemoveToolButtonClicked(), onSensorToolButtonClicked(), PlotSpectralSignature(), saveMixtureModelComponents(), set(), and updateComponents().