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>
|
bool | createOutputRaster (const std::vector< int > &bandsDataTypes, const std::vector< double > &noDataValues) |
| Create the output raster using the EXPANSIBLE driver. More...
|
|
double | getThreshold (const double acceptanceThreshold, const unsigned nBands) const |
|
virtual void | reset () |
| Reset to an initial state. More...
|
|
void | setErrorMessage (const std::string &newErrorMessage) |
| Set the current error message. More...
|
|
bool | setOutputRasterPalette (const unsigned int size) |
| Create and set the output raster palette folowing the current internal settings. More...
|
|
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 60 of file ClassifierISOSegStrategy.h.
◆ ClassifierISOSegStrategy()
te::rp::ClassifierISOSegStrategy::ClassifierISOSegStrategy |
( |
| ) |
|
◆ ~ClassifierISOSegStrategy()
te::rp::ClassifierISOSegStrategy::~ClassifierISOSegStrategy |
( |
| ) |
|
◆ createOutputRaster()
bool te::rp::ClassifierStrategy::createOutputRaster |
( |
const std::vector< int > & |
bandsDataTypes, |
|
|
const std::vector< double > & |
noDataValues |
|
) |
| |
|
protectedinherited |
Create the output raster using the EXPANSIBLE driver.
- Parameters
-
bandsDataTypes | Bands data types. |
noDataValues | A vector of no-data values for each band. |
- Returns
- true if ok,false on errors.
- Note
- A pointer to the created raster will be handled by m_outputRasterPtr.
◆ enableMultiThread()
void te::rp::ClassifierStrategy::enableMultiThread |
( |
const bool & |
enable | ) |
|
|
inherited |
Enable / disable the use of multiple threads.
- Parameters
-
enable | Enable (true) or disable (false) the use of multiple threads. |
◆ enableOutputPalette()
void te::rp::ClassifierStrategy::enableOutputPalette |
( |
const bool |
enabled | ) |
|
|
inherited |
Enable (true) or disable (false) the creation of a paletted output raster.
- Parameters
-
enabled | Enable (true) or disable (false) the creation of a paletted output raster. |
◆ enableProgressInterface()
void te::rp::ClassifierStrategy::enableProgressInterface |
( |
const bool & |
enable | ) |
|
|
inherited |
Enable / disable the progress interface.
- Parameters
-
enable | Enable (true) or disable (false) the progress interface. |
◆ enableRasterCache()
void te::rp::ClassifierStrategy::enableRasterCache |
( |
const bool & |
enable | ) |
|
|
inherited |
Enable / disable the use of raster data cache.
- Parameters
-
enable | Enable (true) or disable (false) the use of raster cache. |
◆ execute()
bool te::rp::ClassifierISOSegStrategy::execute |
( |
| ) |
|
|
virtual |
◆ fillRegionsThreadEntry()
Fill regions thread entry.
- Parameters
-
paramsPtr | A pointer to the thread parameters. |
- Note
- Regions with non-invertable covariance matrix will have zero determinants
-
Regions IDs have the same value as the input polygons indexes
◆ getErrorMessage()
const std::string& te::rp::ClassifierStrategy::getErrorMessage |
( |
| ) |
const |
|
inherited |
Return the current error message if there is any.
- Returns
- Return the current error message if there is any.
◆ getMetaData()
void te::rp::ClassifierStrategy::getMetaData |
( |
std::map< std::string, std::string > & |
metadata | ) |
const |
|
inherited |
Returns strategy-dependent metadata.
- Parameters
-
metadata | Strategy-dependent metadata. |
◆ getOutputParameters()
Returns a pointer to the strategy output execution parameters or a null pointer if there are none.
- Returns
- Returns a pointer to the strategy output execution parameters or a null pointer if there are none.
Reimplemented in te::rp::ClassifierMAPStrategy.
◆ getThreshold()
double te::rp::ClassifierISOSegStrategy::getThreshold |
( |
const double |
acceptanceThreshold, |
|
|
const unsigned |
nBands |
|
) |
| const |
|
protected |
◆ initialize()
Initialize the classification strategy.
- Parameters
-
strategyParams | A 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.
◆ printMatrix()
static void te::rp::ClassifierISOSegStrategy::printMatrix |
( |
const boost::numeric::ublas::matrix< double > & |
matrix | ) |
|
|
staticprotected |
Print a matrix to std::out.
◆ releaseOutputRaster()
std::unique_ptr< te::rst::Raster > te::rp::ClassifierStrategy::releaseOutputRaster |
( |
| ) |
|
|
inherited |
Returns a pointer to the output raster or a void pointer if there is none.
- Returns
- Returns a pointer to the output raster or a void pointer if there is none.
- Note
- The caller of this method must take the ownership of the returned object.
◆ reset()
virtual void te::rp::ClassifierStrategy::reset |
( |
| ) |
|
|
protectedvirtualinherited |
Reset to an initial state.
◆ setErrorMessage()
void te::rp::ClassifierStrategy::setErrorMessage |
( |
const std::string & |
newErrorMessage | ) |
|
|
protectedinherited |
Set the current error message.
- Parameters
-
newErrorMessage | New error message; |
◆ setInputPolygons()
void te::rp::ClassifierStrategy::setInputPolygons |
( |
const std::vector< te::gm::Polygon * > & |
polygonsPtrs | ) |
|
|
inherited |
Set the input polygons.
- Parameters
-
polygonsPtrs | Input polygons pointers. |
- Note
- The caller of this method must keep the ownership of the objects.
◆ setInputRaster()
void te::rp::ClassifierStrategy::setInputRaster |
( |
const te::rst::Raster & |
raster | ) |
|
|
inherited |
Set the input raster.
- Parameters
-
◆ setInputRasterBands()
void te::rp::ClassifierStrategy::setInputRasterBands |
( |
const std::vector< unsigned int > & |
rasterBands | ) |
|
|
inherited |
Set the input raste bandsr.
- Parameters
-
rasterBands | Input raster bands. |
◆ setOutputRasterPalette()
bool te::rp::ClassifierStrategy::setOutputRasterPalette |
( |
const unsigned int |
size | ) |
|
|
protectedinherited |
Create and set the output raster palette folowing the current internal settings.
- Parameters
-
- Returns
- true if ok,false on errors.
◆ setUserOutputPalette()
Set the output user palette.
- Parameters
-
userPalette | User output raster palette (it must be large enough to accomodate all classifyier generated classes or an empty vector to automatically generate an random palette. |
◆ m_createRasterPalette
bool te::rp::ClassifierStrategy::m_createRasterPalette |
|
protectedinherited |
Enable (true) or disable (false) the creation of a paletted output raster.
Definition at line 172 of file ClassifierStrategy.h.
◆ m_enableMultiThread
bool te::rp::ClassifierStrategy::m_enableMultiThread |
|
protectedinherited |
◆ m_enableRasterCache
bool te::rp::ClassifierStrategy::m_enableRasterCache |
|
protectedinherited |
◆ m_errorMessage
std::string te::rp::ClassifierStrategy::m_errorMessage |
|
privateinherited |
◆ m_inputPolygonsPtr
std::vector<te::gm::Polygon*> const* te::rp::ClassifierStrategy::m_inputPolygonsPtr |
|
protectedinherited |
◆ m_inputRasterBands
std::vector<unsigned int> te::rp::ClassifierStrategy::m_inputRasterBands |
|
protectedinherited |
◆ m_inputRasterPtr
◆ m_isInitialized
bool te::rp::ClassifierISOSegStrategy::m_isInitialized |
|
protected |
◆ m_metaData
std::map< std::string, std::string > te::rp::ClassifierStrategy::m_metaData |
|
protectedinherited |
◆ m_outputRasterPtr
std::unique_ptr< te::rst::Raster > te::rp::ClassifierStrategy::m_outputRasterPtr |
|
protectedinherited |
◆ m_parameters
◆ m_progressInterfaceEnabled
bool te::rp::ClassifierStrategy::m_progressInterfaceEnabled |
|
protectedinherited |
◆ m_userOutputPalette
User output raster palette (it must be large enough to accomodate all classifyier generated classes or an empty vector to automatically generate an random palette.
Definition at line 197 of file ClassifierStrategy.h.
The documentation for this class was generated from the following file: