EM strategy for pixel-based classification. This is an unsupervised and pixel-based classification algorithm. Expectation-Maximization (EM) works iteratively by applying two steps: the E-step (Expectation) and the M-step (Maximization). The method aims to approximate the parameter estimates to real data distribution, along the iterations: More...
#include <ClassifierEMStrategy.h>
Classes | |
class | Parameters |
Classifier Parameters. More... | |
Public Member Functions | |
ClassifierEMStrategy () | |
bool | execute (const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, const std::vector< te::gm::Polygon * > &inputPolygons, te::rst::Raster &outputRaster, const unsigned int outputRasterBand, const bool enableProgressInterface) throw (te::rp::Exception) |
Executes the classification strategy. More... | |
bool | initialize (StrategyParameters const *const strategyParams) throw (te::rp::Exception) |
Initialize the classification strategy. More... | |
~ClassifierEMStrategy () | |
Protected Attributes | |
bool | m_isInitialized |
True if this instance is initialized. More... | |
ClassifierEMStrategy::Parameters | m_parameters |
Internal execution parameters. More... | |
EM strategy for pixel-based classification. This is an unsupervised and pixel-based classification algorithm. Expectation-Maximization (EM) works iteratively by applying two steps: the E-step (Expectation) and the M-step (Maximization). The method aims to approximate the parameter estimates to real data distribution, along the iterations:
Definition at line 58 of file ClassifierEMStrategy.h.
te::rp::ClassifierEMStrategy::ClassifierEMStrategy | ( | ) |
Definition at line 88 of file ClassifierEMStrategy.cpp.
References m_isInitialized.
te::rp::ClassifierEMStrategy::~ClassifierEMStrategy | ( | ) |
Definition at line 93 of file ClassifierEMStrategy.cpp.
|
virtual |
Executes the classification strategy.
inputRaster | Input raster. |
inputRasterBands | Input raster bands. |
inputPolygons | The polygons to be classified when using object-based image analysis (OBIA). |
outputRaster | Output raster. |
outputRasterBand | Output raster band. |
enableProgressInterface | Enable the internal strategy to update the progress interface. |
Implements te::rp::ClassifierStrategy.
Definition at line 120 of file ClassifierEMStrategy.cpp.
References te::rst::RasterIterator< T >::begin(), te::rst::PointSetIterator< T >::begin(), te::rst::RasterIterator< T >::end(), te::rst::PointSetIterator< T >::end(), te::rst::RasterIterator< T >::getColumn(), te::common::GetDeterminant(), te::common::GetInverseMatrix(), te::rst::GetRandomPointsInRaster(), te::rst::RasterIterator< T >::getRow(), te::rp::ClassifierEMStrategy::Parameters::m_clustersMeans, te::rp::ClassifierEMStrategy::Parameters::m_epsilon, m_isInitialized, te::rp::ClassifierEMStrategy::Parameters::m_maxInputPoints, te::rp::ClassifierEMStrategy::Parameters::m_maxIterations, te::rp::ClassifierEMStrategy::Parameters::m_numberOfClusters, m_parameters, te::common::TaskProgress::pulse(), te::common::TaskProgress::setCurrentStep(), te::common::TaskProgress::setMessage(), te::common::TaskProgress::setTotalSteps(), TE_TR, TERP_TRUE_OR_RETURN_FALSE, and te::common::TaskProgress::UNDEFINED.
|
virtual |
Initialize the classification strategy.
strategyParams | A pointer to the user given specific classification strategy parameters ou NULL if no parameters are present. |
Implements te::rp::ClassifierStrategy.
Definition at line 97 of file ClassifierEMStrategy.cpp.
References te::rp::ClassifierEMStrategy::Parameters::m_epsilon, m_isInitialized, te::rp::ClassifierEMStrategy::Parameters::m_maxInputPoints, te::rp::ClassifierEMStrategy::Parameters::m_maxIterations, te::rp::ClassifierEMStrategy::Parameters::m_numberOfClusters, m_parameters, TE_TR, and TERP_TRUE_OR_RETURN_FALSE.
|
protected |
True if this instance is initialized.
Definition at line 107 of file ClassifierEMStrategy.h.
Referenced by ClassifierEMStrategy(), execute(), and initialize().
|
protected |
Internal execution parameters.
Definition at line 108 of file ClassifierEMStrategy.h.
Referenced by execute(), and initialize().