25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGMERGER_H 
   26 #define __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGMERGER_H 
   52     template< 
typename FeatureDataTypeT >
 
Segmenter data used by the merger (region growing process).
 
Segmenter data used by the merger in region growing process.
 
Abstract class for the segments merger.
 
virtual unsigned int getSegmentFeaturesSize() const =0
Return the required segments features vector size (numer of elements).
 
virtual void update(SegmenterRegionGrowingSegment< FeatureDataTypeT > *const actSegsListHeadPtr)=0
Update the internal state.
 
SegmenterRegionGrowingMerger()
Constructor.
 
const SegmenterRegionGrowingMerger & operator=(const SegmenterRegionGrowingMerger &other)
 
virtual void mergeFeatures(SegmenterRegionGrowingSegment< FeatureDataTypeT > *const segment1Ptr, SegmenterRegionGrowingSegment< FeatureDataTypeT > const *const segment2Ptr, SegmenterRegionGrowingMergeData const *const mergeDataPtr) const =0
Merge specific segment features from both segments into the first segment.
 
virtual ~SegmenterRegionGrowingMerger()
 
SegmenterRegionGrowingMerger(const SegmenterRegionGrowingMerger &)
Copy Constructor.
 
virtual void createMergeData(SegmenterRegionGrowingMergeData **mergeDataPtr) const =0
Create a new merge data instance when applicable.
 
virtual DissimilarityTypeT getDissimilarity(SegmenterRegionGrowingSegment< FeatureDataTypeT > const *const segment1Ptr, SegmenterRegionGrowingSegment< FeatureDataTypeT > const *const segment2Ptr, SegmenterRegionGrowingMergeData *const mergeDataPtr) const =0
Returns a dimilarity index between this and the other segment.
 
double DissimilarityTypeT
Type for dissimilarity.
 
Matrix< SegmenterSegmentsBlock::SegmentIdDataType > SegmentsIdsMatrixT
Internal segments ids matrix type definition.