26#ifndef __TERRALIB_RP_INTERNAL_CLASSIFIERSTRATEGY_H
27#define __TERRALIB_RP_INTERNAL_CLASSIFIERSTRATEGY_H
210 const std::vector<
double >& noDataValues );
It describes one band (or dimension) of a raster.
Raster classifier strategy parameters base class.
Classifier Strategy Output Parameters.
Classifier Strategy Parameters.
void setUserOutputPalette(std::vector< te::rst::BandProperty::ColorEntry > &userPalette)
Set the output user palette.
void setInputRaster(const te::rst::Raster &raster)
Set the input raster.
virtual ClassifierStrategyOutParameters const * getOutputParameters() const
Returns a pointer to the strategy output execution parameters or a null pointer if there are none.
void enableRasterCache(const bool &enable)
Enable / disable the use of raster data cache.
std::vector< te::rst::BandProperty::ColorEntry > m_userOutputPalette
User output raster palette (it must be large enough to accomodate all classifyier generated classes o...
std::vector< te::gm::Polygon * > const * m_inputPolygonsPtr
Input polygons.
std::vector< unsigned int > m_inputRasterBands
Input raster bands.
ClassifierStrategy()
Default constructor.
void getMetaData(std::map< std::string, std::string > &metadata) const
Returns strategy-dependent metadata.
std::string m_errorMessage
Current error message.
void setInputPolygons(const std::vector< te::gm::Polygon * > &polygonsPtrs)
Set the input polygons.
bool m_enableMultiThread
Enable or disable the use multipe threads.
te::rst::Raster const * m_inputRasterPtr
A pointer to the input raster.
bool createOutputRaster(const std::vector< int > &bandsDataTypes, const std::vector< double > &noDataValues)
Create the output raster using the EXPANSIBLE driver.
void setInputRasterBands(const std::vector< unsigned int > &rasterBands)
Set the input raste bandsr.
void enableOutputPalette(const bool enabled)
Enable (true) or disable (false) the creation of a paletted output raster.
bool m_progressInterfaceEnabled
Progress interface status.
void setErrorMessage(const std::string &newErrorMessage)
Set the current error message.
virtual bool execute() _NOEXCEPT_OP(false)=0
Executes the classification strategy.
virtual ~ClassifierStrategy()
Virtual destructor.
virtual bool initialize(ClassifierStrategyParameters const *const strategyParams) _NOEXCEPT_OP(false)=0
Initialize the classification strategy.
std::unique_ptr< te::rst::Raster > releaseOutputRaster()
Returns a pointer to the output raster or a void pointer if there is none.
virtual void reset()
Reset to an initial state.
bool m_createRasterPalette
Enable (true) or disable (false) the creation of a paletted output raster.
std::map< std::string, std::string > m_metaData
Strategy-dependent metadata.
bool setOutputRasterPalette(const unsigned int size)
Create and set the output raster palette folowing the current internal settings.
void enableMultiThread(const bool &enable)
Enable / disable the use of multiple threads.
bool m_enableRasterCache
Enable or disable the use a raster data cache.
std::unique_ptr< te::rst::Raster > m_outputRasterPtr
A pointer to the output raster.
void enableProgressInterface(const bool &enable)
Enable / disable the progress interface.
const std::string & getErrorMessage() const
Return the current error message if there is any.
Namespace for the Vector Geometry module of TerraLib.
Namespace for the Map Tools module of TerraLib.
Namespace for Raster Processing module of TerraLib.
Namespace for the Raster module of TerraLib.
An abstract class for raster data strucutures.
Configuration flags for the Raster Processing module of TerraLib.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.