Go to the documentation of this file.
25 #ifndef __TERRALIB_RP_INTERNAL_CLASSIFIERISOSEGSTRATEGY_H
26 #define __TERRALIB_RP_INTERNAL_CLASSIFIERISOSEGSTRATEGY_H
32 #include "../raster/RasterSynchronizer.h"
38 #include <condition_variable>
41 #include <boost/numeric/ublas/matrix.hpp>
79 BhattacharyyaDistanceType
96 AbstractParameters* clone() const;
130 Pattern(
int i,
double a, std::vector<double> mv, boost::numeric::ublas::matrix<double> cm);
231 double getThreshold(
const double acceptanceThreshold,
const unsigned nBands)
const;
244 static void printMatrix(
const boost::numeric::ublas::matrix<double>& matrix);
269 #endif // __TERRALIB_RP_INTERNAL_CLASSIFIERISOSEGSTRATEGY_H
boost::numeric::ublas::matrix< double > m_covarianceMatrix
The covariance matrix between bands.
void reset()
Reset to initial state.
Pattern * m_myCluster
The associated cluster of this pattern (optional).
double m_covarianceMatrixDet
The covariance matrix determinant.
double m_acceptanceThreshold
The acceptance threshold (the closer to 100%, few clusters are created).
~FillRegionsThreadEntryParams()
boost::numeric::ublas::matrix< double > m_getBhattacharyyaDistance_meansDif
bool * m_continueProcessingFlagPtr
Pointer to variable pointing the variable to allow the process to continue.
boost::numeric::ublas::matrix< double > m_covarianceInversion
The inversion of covariance matrix between bands.
FillRegionsThreadEntryParams()
double getThreshold(const double acceptanceThreshold, const unsigned nBands) const
boost::numeric::ublas::matrix< double > m_getBhattacharyyaDistance_distanceTerm1
double getBhattacharyyaDistance(Pattern const *const p) const
Returns the Bhattacharyya distance between two patterns.
@ InvalidDistanceType
Invalid distance type.
boost::numeric::ublas::matrix< double > m_getBhattacharyyaDistance_covsMege
void reset()
Clear all internal allocated resources and reset the parameters instance to its initial state.
double m_getBhattacharyyaDistance_covsMegeDet
An access synchronizer to be used in SynchronizedRaster raster instances.
Classifier Strategy Parameters.
double m_getBhattacharyyaDistance_distanceValue
Pattern(const Pattern &rhs)
Copy constructor.
double getMahalanobisDistance(Pattern const *const p) const
Returns the Mahalanobis distance between two patterns.
ISOSeg strategy for OBIA classification. The algorithm orders regions by area (larger first),...
Raster classifier strategy base class.
Pattern & operator=(const Pattern &rhs)
ClassifierISOSegStrategy::Parameters m_parameters
Internal execution parameters.
Describes a region or a cluster (group of regions with similar properties) to be used by ISOSeg metho...
ClassifierISOSegStrategyFactory()
std::mutex * m_globalMutexPtr
Pointer to the mutex.
std::vector< te::gm::Polygon * > const * m_inputPolygonsPtr
boost::numeric::ublas::matrix< double > m_getBhattacharyyaDistance_covsMegeInv
bool operator==(const Pattern &rhs) const
Return true if two clusters are equal.
int m_id
The id of the region of the pattern.
Base exception class for plugin module.
te::rst::RasterSynchronizer * m_inputRasterSyncPtr
Pointer to the input raster sync.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
std::vector< unsigned int > const * m_inputRasterBandsPtr
Pointer to the input raster bands do be processed.
const Parameters & operator=(const Parameters ¶ms)
DistanceType m_distanceType
Distance type.
bool m_enableProgress
Pointer to variable pointing the variable to enable or disable the thread internal progress interface...
static void fillRegionsThreadEntry(FillRegionsThreadEntryParams *paramsPtr)
Fill regions thread entry.
static void printMatrix(const boost::numeric::ublas::matrix< double > &matrix)
Print a matrix to std::out.
~ClassifierISOSegStrategyFactory()
Raster classifier strategy factory base class.
The parameters passed to the fill regions thread entry.
unsigned int m_getBhattacharyyaDistance_nBands
bool operator<(const Pattern &rhs) const
unsigned int * m_runningThreadsCounterPtr
Pointer to variable pointing the current number of running threads.
double m_area
The area of all regions inside a pattern.
std::condition_variable * m_condVarPtr
Pointer to the condition variable.
Proxy configuration file for TerraView (see terraview_config.h).
Raster classifier strategy base class.
std::multimap< double, Pattern > * m_outputRegionsPtr
Pointer to the output regions container.
bool m_isInitialized
True if this instance is initialized.
@ MahalanobisDistanceType
Mahalanobis Distance Type.
Pattern(int i, double a, std::vector< double > mv, boost::numeric::ublas::matrix< double > cm)
Constructor.
std::mutex * m_condVarMutexPtr
Pointer to the condition variable mutex.
te::rp::ClassifierStrategy * build()
Concrete factories (derived from this one) must implement this method in order to create objects.
std::size_t * m_nextInputPolIdx2ProcessPtr
Pointer to variable pointing the next polygon index to process.
unsigned int m_getBhattacharyyaDistance_bandIdx
Raster classifier strategy factory base class.
std::vector< double > m_meanVector
The vector of mean values, 1 value per band;.
Raster ISOSeg Classifier strategy factory.