25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGSTRATEGY_H
26 #define __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGSTRATEGY_H
92 void reset() throw( te::rp::Exception );
95 AbstractParameters* clone() const;
105 throw( te::rp::Exception );
113 const te::rst::Raster& inputRaster,
114 const std::vector<
unsigned int >& inputRasterBands,
115 const std::vector<
double >& inputRasterGains,
116 const std::vector<
double >& inputRasterOffsets,
117 te::rst::Raster& outputRaster,
118 const
unsigned int outputRasterBand,
119 const
bool enableProgressInterface ) throw( te::rp::Exception );
122 double getMemUsageEstimation( const
unsigned int bandsToProcess,
123 const
unsigned int pixelsNumber ) const;
126 unsigned int getOptimalBlocksOverlapSize() const;
164 virtual void mergeFeatures(
172 virtual void update() = 0;
182 const Merger&
operator=(
const Merger& other ) {
return other; };
193 MeanMerger(
const unsigned int featuresNumber );
214 unsigned int m_featuresNumber;
238 BaatzMerger(
const double& colorWeight,
const double& compactnessWeight,
239 const std::vector< double >& bandsWeights,
311 const std::vector< unsigned int >& inputRasterBands,
312 const std::vector< double >& inputRasterGains,
313 const std::vector< double >& inputRasterOffsets );
326 unsigned int mergeSegments(
330 const bool enablelocalMutualBestFitting,
347 unsigned int mergeSmallSegments(
348 const unsigned int minSegmentSize,
361 bool normto8bits,
const std::string& fileName );
377 const unsigned int& xStart,
const unsigned int& yStart,
378 const unsigned int& xBound,
const unsigned int& yBound,
381 unsigned int& edgeLength1,
382 unsigned int& edgeLength2 );
407 #endif // __TERRALIB_RP_INTERNAL_ALGORITHM_H
Segmenter segments IDs manager.
Raster segmenter strategy factory base class.
SegmenterRegionGrowingSegment::FeatureType m_compactnessWeight
The weight given to the compactness component, deafult:0.5, valid range: [0,1].
SegmenterRegionGrowingSegment::FeatureType m_allSegsCompactnessGain
The gains applied to normalize the compactness value.
Baatz based Segments merger.
bool m_isInitialized
true if this instance is initialized.
Raster region growing segmenter strategy.
std::vector< SegmenterRegionGrowingSegment::FeatureType > m_bandsWeights
A vector where each bands weight are stored.
SegmenterRegionGrowingStrategy::Parameters m_parameters
Internal execution parameters.
SegmenterRegionGrowingSegment::FeatureType m_getDissimilarity_dissValue
SegmentsIdsMatrixT m_segmentsIdsMatrix
A internal segments IDs matrix that can be reused on each strategy execution.
SegmenterRegionGrowingSegment::FeatureType m_allSegsCompactnessOffset
The offsets applied to normalize the compactness value.
Matrix< SegmenterRegionGrowingSegment > & m_segmentsMatrix
A reference to an external valid segments matrix..
Raster region growing segmenter strategy factory.
SegmenterRegionGrowingSegment::FeatureType m_allSegsSmoothnessGain
The gains applied to normalize the smoothness value.
Segmenter Strategy Parameters.
Raster segmenter strategy factory base class.
unsigned int SegmentIdDataType
std::vector< double > m_bandsWeights
The weight given to each band, when applicable (note: the bands weights sum must always be 1) or an e...
SegmenterRegionGrowingSegment::FeatureType m_getDissimilarity_diffValue
SegmenterRegionGrowingSegmentsPool m_segmentsPool
A pool of segments that can be reused on each strategy execution.
The mean of segments pixel values will be used - Reference: S. A. Bins, L. M. G. Fonseca, G. J. Erthal e F. M. Ii, "Satellite Imagery segmentation: a region growing approach", VIII Simposio Brasileiro de Sensoriamento Remoto, Salvador, BA, 14-19 abril 1996.
An abstract class for raster data strucutures.
Raster segmenter strategy base class.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
SegmentFeaturesType m_segmentFeatures
What segment features will be used on the segmentation process (default:InvalidFeaturesType).
void update()
Update the internal state.
unsigned int m_getDissimilarity_meansIdx
unsigned int m_minSegmentSize
A positive minimum segment size (pixels number - default: 100).
double m_segmentsSimilarityThreshold
Segments similarity treshold - Use lower values to merge only those segments that are more similar - ...
Raster segmenter strategy base class.
Configuration flags for the Raster Processing module of TerraLib.
unsigned int m_bandsNumber
The number of features (bands).
Raster segmenter strategy parameters base class.
A generic template matrix.
SegmenterRegionGrowingSegment::FeatureType m_colorWeight
The weight given to the color component, deafult:0.5, valid range: [0,1].
Mean based Segments merger.
float FeatureType
Feature type definition.
double m_colorWeight
The weight given to the color component, deafult:0.75, valid range: [0,1].
unsigned int m_segmentsSimIncreaseSteps
The maximum number of steps to increment the similarity threshold value for the cases where no segmen...
Segmenter segments block description class.
double m_compactnessWeight
The weight given to the compactness component, deafult:0.5, valid range: [0,1].
SegmenterRegionGrowingSegment::FeatureType m_allSegsSmoothnessOffset
The offsets applied to normalize the smoothness value.
const Merger & operator=(const Merger &other)
const SegmentsIdsMatrixT & m_segmentsIds
A reference to an external valid structure where each all segments IDs are stored.