te::rp::ClassifierISOSegStrategy Class Reference

ISOSeg strategy for OBIA classification. The algorithm orders regions by area (larger first), and classify the largest region as Cluster 1. All regions similar to this cluster are inserted in Cluster 1, otherwise new Clusters are created. After all regions belong to a cluster, the algorithm merges similar clusters. The acceptance threshold is the only parameter given by the user, and it indicates the maximum distance between two regions to be clustered togheter. More...

#include <ClassifierISOSegStrategy.h>

Inheritance diagram for te::rp::ClassifierISOSegStrategy:
te::rp::ClassifierStrategy

Classes

class  Parameters
 Classifier Parameters. More...
 
class  Pattern
 Describes a region or a cluster (group of regions with similar properties) to be used by ISOSeg method. More...
 

Public Member Functions

 ClassifierISOSegStrategy ()
 
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...
 
 ~ClassifierISOSegStrategy ()
 

Protected Attributes

bool m_isInitialized
 True if this instance is initialized. More...
 
ClassifierISOSegStrategy::Parameters m_parameters
 Internal execution parameters. More...
 
std::multimap< double, Pattern *, std::greater< double > > m_regions
 A descriptive set of regions (area, features). More...
 

Detailed Description

ISOSeg strategy for OBIA classification. The algorithm orders regions by area (larger first), and classify the largest region as Cluster 1. All regions similar to this cluster are inserted in Cluster 1, otherwise new Clusters are created. After all regions belong to a cluster, the algorithm merges similar clusters. The acceptance threshold is the only parameter given by the user, and it indicates the maximum distance between two regions to be clustered togheter.

Definition at line 54 of file ClassifierISOSegStrategy.h.

Constructor & Destructor Documentation

te::rp::ClassifierISOSegStrategy::ClassifierISOSegStrategy ( )

Definition at line 194 of file ClassifierISOSegStrategy.cpp.

References m_isInitialized.

te::rp::ClassifierISOSegStrategy::~ClassifierISOSegStrategy ( )

Definition at line 199 of file ClassifierISOSegStrategy.cpp.

Member Function Documentation

bool te::rp::ClassifierISOSegStrategy::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
)
virtual

Executes the classification strategy.

Parameters
inputRasterInput raster.
inputRasterBandsInput raster bands.
inputPolygonsThe polygons to be classified when using object-based image analysis (OBIA).
outputRasterOutput raster.
outputRasterBandOutput raster band.
enableProgressInterfaceEnable the internal strategy to update the progress interface.
Returns
true if OK, false on errors.

Implements te::rp::ClassifierStrategy.

Definition at line 259 of file ClassifierISOSegStrategy.cpp.

References te::rst::PolygonIterator< T >::begin(), te::rst::PolygonIterator< T >::end(), te::gm::CurvePolygon::getArea(), te::rst::PolygonIterator< T >::getColumn(), te::rst::PolygonIterator< T >::getRow(), getThreshold(), te::rp::ClassifierISOSegStrategy::Parameters::m_acceptanceThreshold, te::rp::ClassifierISOSegStrategy::Pattern::m_area, m_isInitialized, te::stat::NumericStatisticalSummary::m_mean, te::rp::ClassifierISOSegStrategy::Pattern::m_myCluster, m_parameters, m_regions, te::xsd::Pattern, te::common::TaskProgress::pulse(), TE_TR, TERP_TRUE_OR_RETURN_FALSE, and te::common::TaskProgress::UNDEFINED.

bool te::rp::ClassifierISOSegStrategy::initialize ( StrategyParameters const *const  strategyParams)
throw (te::rp::Exception
)
virtual

Initialize the classification strategy.

Parameters
strategyParamsA pointer to the user given specific classification strategy parameters ou NULL if no parameters are present.
Returns
true if OK, false on errors.

Implements te::rp::ClassifierStrategy.

Definition at line 203 of file ClassifierISOSegStrategy.cpp.

References te::rp::ClassifierISOSegStrategy::Parameters::m_acceptanceThreshold, m_isInitialized, m_parameters, and TERP_TRUE_OR_RETURN_FALSE.

Member Data Documentation

bool te::rp::ClassifierISOSegStrategy::m_isInitialized
protected

True if this instance is initialized.

Definition at line 150 of file ClassifierISOSegStrategy.h.

Referenced by ClassifierISOSegStrategy(), execute(), and initialize().

ClassifierISOSegStrategy::Parameters te::rp::ClassifierISOSegStrategy::m_parameters
protected

Internal execution parameters.

Definition at line 151 of file ClassifierISOSegStrategy.h.

Referenced by execute(), and initialize().

std::multimap<double, Pattern*, std::greater<double> > te::rp::ClassifierISOSegStrategy::m_regions
protected

A descriptive set of regions (area, features).

Definition at line 152 of file ClassifierISOSegStrategy.h.

Referenced by execute().


The documentation for this class was generated from the following files: