KMeans strategy for image classification. Step-by-step:
More...
#include <ClassifierKMeansStrategy.h>
|
bool | createOutputRaster (const std::vector< int > &bandsDataTypes, const std::vector< double > &noDataValues) |
| Create the output raster using the EXPANSIBLE driver. More...
|
|
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...
|
|
KMeans strategy for image classification. Step-by-step:
- Define a random solution, creating K values of mean.
- Classify each pixel according to the closest mean.
- Calculate new means using the classified pixels.
- Go back to step 2, or stop depending on the following checks:
- Check if the new means are different from the previous iteration, using the convergence threshold.
- Check if maximum number of iterations has achieved.
Definition at line 54 of file ClassifierKMeansStrategy.h.
◆ ClassifierKMeansStrategy()
te::rp::ClassifierKMeansStrategy::ClassifierKMeansStrategy |
( |
| ) |
|
◆ ~ClassifierKMeansStrategy()
te::rp::ClassifierKMeansStrategy::~ClassifierKMeansStrategy |
( |
| ) |
|
◆ 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::ClassifierKMeansStrategy::execute |
( |
| ) |
|
|
virtual |
◆ 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.
◆ 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.
◆ 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::ClassifierKMeansStrategy::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: