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.