Go to the documentation of this file.
25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGBAATZMERGER_H
26 #define __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGBAATZMERGER_H
58 const double& compactnessWeight,
59 const std::vector< double >& bandsWeights,
180 const unsigned int& colStart1,
181 const unsigned int& rowStart1,
182 const unsigned int& colBound1,
183 const unsigned int& rowBound1,
184 const unsigned int& colStart2,
185 const unsigned int& rowStart2,
186 const unsigned int& colBound2,
187 const unsigned int& rowBound2,
190 unsigned int& touchingEdgeLength )
const;
195 #endif // __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGBAATZMERGER_H
Abstract class for the segments merger.
Segmenter data used by the merger (region growing process).
void getTouchingEdgeLength(const unsigned int &colStart1, const unsigned int &rowStart1, const unsigned int &colBound1, const unsigned int &rowBound1, const unsigned int &colStart2, const unsigned int &rowStart2, const unsigned int &colBound2, const unsigned int &rowBound2, const SegmenterSegmentsBlock::SegmentIdDataType &id1, const SegmenterSegmentsBlock::SegmentIdDataType &id2, unsigned int &touchingEdgeLength) const
Returns the count of points from region 1 (with ID1) touching the region 2 (with ID2).
rg::BaatzFeatureType m_getDissimilarity_meanUnion
Baatz specific merge data.
MergeData * m_getDissimilarity_mergeDataPtr
MergeData const * m_mergeFeatures_mergeDataPtr
rg::BaatzFeatureType m_allSegsCompactnessOffset
The offsets applied to normalize the compactness value.
rg::BaatzFeatureType m_getDissimilarity_hForm
unsigned int m_segmentFeaturesSize
rg::BaatzFeatureType m_update_compactnessMax
rg::BaatzFeatureType m_colorWeight
The weight given to the color component, deafult:0.5, valid range: [0,1].
rg::BaatzFeatureType m_allSegsSmoothnessOffset
The offsets applied to normalize the smoothness value.
rg::BaatzFeatureType m_getDissimilarity_hSmooth
rg::BaatzFeatureType m_getDissimilarity_sizeSeg2D
int m_getTouchingEdgeLength_seg1ColStart
MergeData(const MergeData &other)
unsigned int getSegmentFeaturesSize() const
float BaatzFeatureType
Baatz Strategy feature type.
unsigned int m_getDissimilarity_touchingEdgeLength
rg::BaatzFeatureType m_getDissimilarity_heightUnionD
rg::BaatzFeatureType * m_features
Vctor of segment features (this class will take the ownership and delete[] at destruction time).
rg::BaatzFeatureType m_allSegsSmoothnessGain
The gains applied to normalize the smoothness value.
rg::BaatzFeatureType m_getDissimilarity_sizeUnionD
rg::BaatzFeatureType m_update_smoothnessMax
rg::BaatzFeatureType m_getDissimilarity_stdDevUnion
int m_getTouchingEdgeLength_seg1RowStart
rg::BaatzFeatureType m_getDissimilarity_squaresSumUnion
unsigned int m_segmentsIdsMatrixNCols
Matrix cols numnber;.
unsigned int SegmentIdDataType
rg::BaatzFeatureType const * m_update_stdDevPtr
MergeData(const unsigned int featuresNumber)
rg::BaatzFeatureType m_compactnessWeight
The weight given to the compactness component, deafult:0.5, valid range: [0,1].
void createMergeData(SegmenterRegionGrowingMergeData **mergeDataPtr) const
Create a new merge data instance when applicable.
rg::BaatzFeatureType m_getDissimilarity_hCompact
DissimilarityTypeT getDissimilarity(SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const segment1Ptr, SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const segment2Ptr, SegmenterRegionGrowingMergeData *const mergeDataPtr) const
Returns a dimilarity index between this and the other segment.
const SegmentsIdsMatrixT & m_segmentsIdsMatrix
A reference to an external valid structure where each all segments IDs are stored.
rg::BaatzFeatureType m_update_stdDevMax
Baatz based Segments merger.
std::vector< rg::BaatzFeatureType > m_bandsWeights
A vector where each bands weight are stored.
void mergeFeatures(SegmenterRegionGrowingSegment< rg::BaatzFeatureType > *const segment1Ptr, SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const segment2Ptr, SegmenterRegionGrowingMergeData const *const mergeDataPtr) const
Merge specific segment features from both segments into the first segment.
const MergeData & operator=(const MergeData &other)
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
rg::BaatzFeatureType m_allSegsStdDevGain
The gains applied to normalize the standard deviation value.
int m_getTouchingEdgeLength_col
double DissimilarityTypeT
Type for dissimilarity.
unsigned int m_segmentsIdsMatrixNRows
Matrix rows numnber;.
int m_getTouchingEdgeLength_row
rg::BaatzFeatureType m_getDissimilarity_sumUnion
Segmenter data used by the merger in region growing process.
int * m_dirsColOffsVecPtr
pointer to a internal vector of directions column offsets.
SegmenterRegionGrowingBaatzMerger(const double &colorWeight, const double &compactnessWeight, const std::vector< double > &bandsWeights, const SegmentsIdsMatrixT &segmentsIds)
Default constructor.
~SegmenterRegionGrowingBaatzMerger()
rg::BaatzFeatureType m_allSegsStdDevOffset
The offsets applied to normalize the standard deviation value.
SegmenterRegionGrowingSegment< rg::BaatzFeatureType > * m_update_currentActSegPtr
rg::BaatzFeatureType * m_update_featuresPtr
int * m_dirsRowOffsVecPtr
pointer to a internal vector of directions row offsets.
rg::BaatzFeatureType m_update_compactnessMin
Proxy configuration file for TerraView (see terraview_config.h).
rg::BaatzFeatureType m_getDissimilarity_sizeSeg1D
unsigned int m_update_band
void update(SegmenterRegionGrowingSegment< rg::BaatzFeatureType > *const actSegsListHeadPtr)
Update the internal state.
rg::BaatzFeatureType m_getDissimilarity_hColor
rg::BaatzFeatureType m_getDissimilarity_widthUnionD
rg::BaatzFeatureType m_allSegsCompactnessGain
The gains applied to normalize the compactness value.
rg::BaatzFeatureType m_update_smoothnessMin
unsigned int m_bandsNumber
The number of features (bands).
unsigned int m_getDissimilarity_sumsIdx
Segmenter merger used in region growing process.
rg::BaatzFeatureType m_update_stdDevMin