25#ifndef __TERRALIB_RP_INTERNAL_SEGMENTERSTRATEGY_H
26#define __TERRALIB_RP_INTERNAL_SEGMENTERSTRATEGY_H
94 const std::vector< unsigned int >& inputRasterBands,
95 const std::vector< std::complex< double > >& inputRasterNoDataValues,
96 const std::vector< std::complex< double > >& inputRasterBandMinValues,
97 const std::vector< std::complex< double > >& inputRasterBandMaxValues,
99 const unsigned int outputRasterBand,
100 const bool enableProgressInterface ) = 0;
110 const unsigned int pixelsNumber )
const = 0;
Raster segmenter strategy parameters base class.
Segmenter segments IDs manager.
Segmenter segments block description class.
Segmenter Strategy Parameters.
SegmenterStrategy(const SegmenterStrategy &)
virtual ~SegmenterStrategy()
const std::string & getErrorMessage() const
Return the current error message if there is any.
virtual double getMemUsageEstimation(const unsigned int bandsToProcess, const unsigned int pixelsNumber) const =0
Returns a memory estimation (bytes).
SegmenterStrategy & operator=(const SegmenterStrategy &)
std::string m_errorMessage
Current error message.
BlocksMergingMethod
Blocks merging method.
@ GradientMerging
Gradient Merging.
virtual BlocksMergingMethod getBlocksMergingMethod() const =0
Return the strategy blocks merging method.
virtual unsigned int getOptimalBlocksOverlapSize() const =0
Returns a optimal blocks overlap size (number of border pixels overlapped between blocks,...
virtual void reset()
Clear all internal allocated resources and go back to the initial not-initialized state.
virtual bool shouldComputeMinMaxValues() const =0
Returns if the min and max pixel values should be computed.
void setErrorMessage(const std::string &newErrorMessage)
Set the current error message.
virtual bool execute(SegmenterIdsManager &segmenterIdsManager, const te::rp::SegmenterSegmentsBlock &block2ProcessInfo, const te::rst::Raster &inputRaster, const std::vector< unsigned int > &inputRasterBands, const std::vector< std::complex< double > > &inputRasterNoDataValues, const std::vector< std::complex< double > > &inputRasterBandMinValues, const std::vector< std::complex< double > > &inputRasterBandMaxValues, te::rst::Raster &outputRaster, const unsigned int outputRasterBand, const bool enableProgressInterface)=0
Executes the segmentation strategy over region delimited by the given block.
virtual bool initialize(SegmenterStrategyParameters const *const strategyParams)=0
Initialize the segmentation strategy.
An abstract class for raster data strucutures.
Namespace for Raster Processing 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.