25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGMERGER_H 26 #define __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGMERGER_H 52 template<
typename FeatureDataTypeT >
119 #endif // __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGMERGER_H Segmenter data used by the merger in region growing process.
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.
double DissimilarityTypeT
Type for dissimilarity.
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.
SegmenterRegionGrowingMerger()
Constructor.
virtual void createMergeData(SegmenterRegionGrowingMergeData **mergeDataPtr) const =0
Create a new merge data instance when applicable.
SegmenterRegionGrowingMerger(const SegmenterRegionGrowingMerger &)
Copy Constructor.
Abstract class for the segments merger.
virtual unsigned int getSegmentFeaturesSize() const =0
Return the required segments features vector size (numer of elements).
const SegmenterRegionGrowingMerger & operator=(const SegmenterRegionGrowingMerger &other)
virtual void update(SegmenterRegionGrowingSegment< FeatureDataTypeT > *const actSegsListHeadPtr)=0
Update the internal state.
Matrix< SegmenterSegmentsBlock::SegmentIdDataType > SegmentsIdsMatrixT
Internal segments ids matrix type definition.
virtual ~SegmenterRegionGrowingMerger()
Segmenter data used by the merger (region growing process).