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;
Segmenter data used by the merger (region growing process).
Segmenter merger used in region growing process.
Baatz specific merge data.
MergeData(const unsigned int featuresNumber)
rg::BaatzFeatureType * m_features
Vctor of segment features (this class will take the ownership and delete[] at destruction time).
const MergeData & operator=(const MergeData &other)
MergeData(const MergeData &other)
Baatz based Segments merger.
rg::BaatzFeatureType const * m_update_stdDevPtr
rg::BaatzFeatureType m_allSegsStdDevOffset
The offsets applied to normalize the standard deviation value.
rg::BaatzFeatureType m_allSegsStdDevGain
The gains applied to normalize the standard deviation value.
rg::BaatzFeatureType m_getDissimilarity_widthUnionD
unsigned int m_segmentFeaturesSize
const SegmentsIdsMatrixT & m_segmentsIdsMatrix
A reference to an external valid structure where each all segments IDs are stored.
MergeData * m_getDissimilarity_mergeDataPtr
rg::BaatzFeatureType m_getDissimilarity_heightUnionD
rg::BaatzFeatureType m_allSegsSmoothnessOffset
The offsets applied to normalize the smoothness value.
unsigned int m_getDissimilarity_sumsIdx
rg::BaatzFeatureType m_getDissimilarity_hColor
rg::BaatzFeatureType m_getDissimilarity_stdDevUnion
rg::BaatzFeatureType m_getDissimilarity_meanUnion
rg::BaatzFeatureType m_getDissimilarity_sizeUnionD
int * m_dirsColOffsVecPtr
pointer to a internal vector of directions column offsets.
rg::BaatzFeatureType m_getDissimilarity_hSmooth
unsigned int m_segmentsIdsMatrixNCols
Matrix cols numnber;.
int m_getTouchingEdgeLength_seg1RowStart
unsigned int m_segmentsIdsMatrixNRows
Matrix rows numnber;.
rg::BaatzFeatureType m_compactnessWeight
The weight given to the compactness component, deafult:0.5, valid range: [0,1].
int m_getTouchingEdgeLength_row
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.
rg::BaatzFeatureType m_getDissimilarity_sumUnion
rg::BaatzFeatureType m_update_stdDevMax
rg::BaatzFeatureType m_update_compactnessMax
rg::BaatzFeatureType m_getDissimilarity_hForm
rg::BaatzFeatureType m_getDissimilarity_sizeSeg2D
int m_getTouchingEdgeLength_col
~SegmenterRegionGrowingBaatzMerger()
rg::BaatzFeatureType m_allSegsCompactnessGain
The gains applied to normalize the compactness value.
void update(SegmenterRegionGrowingSegment< rg::BaatzFeatureType > *const actSegsListHeadPtr)
Update the internal state.
unsigned int m_bandsNumber
The number of features (bands).
rg::BaatzFeatureType m_allSegsSmoothnessGain
The gains applied to normalize the smoothness value.
std::vector< rg::BaatzFeatureType > m_bandsWeights
A vector where each bands weight are stored.
unsigned int getSegmentFeaturesSize() const
Return the required segments features vector size (numer of elements).
rg::BaatzFeatureType * m_update_featuresPtr
int m_getTouchingEdgeLength_seg1ColStart
rg::BaatzFeatureType m_update_compactnessMin
unsigned int m_update_band
rg::BaatzFeatureType m_getDissimilarity_hCompact
MergeData const * m_mergeFeatures_mergeDataPtr
rg::BaatzFeatureType m_getDissimilarity_squaresSumUnion
void createMergeData(SegmenterRegionGrowingMergeData **mergeDataPtr) const
Create a new merge data instance when applicable.
SegmenterRegionGrowingBaatzMerger(const double &colorWeight, const double &compactnessWeight, const std::vector< double > &bandsWeights, const SegmentsIdsMatrixT &segmentsIds)
Default constructor.
rg::BaatzFeatureType m_allSegsCompactnessOffset
The offsets applied to normalize the compactness value.
unsigned int m_getDissimilarity_touchingEdgeLength
rg::BaatzFeatureType m_colorWeight
The weight given to the color component, deafult:0.5, valid range: [0,1].
rg::BaatzFeatureType m_update_smoothnessMax
rg::BaatzFeatureType m_update_smoothnessMin
rg::BaatzFeatureType m_update_stdDevMin
rg::BaatzFeatureType m_getDissimilarity_sizeSeg1D
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).
int * m_dirsRowOffsVecPtr
pointer to a internal vector of directions row offsets.
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.
SegmenterRegionGrowingSegment< rg::BaatzFeatureType > * m_update_currentActSegPtr
Segmenter data used by the merger in region growing process.
Abstract class for the segments merger.
unsigned int SegmentIdDataType
float BaatzFeatureType
Baatz Strategy feature type.
double DissimilarityTypeT
Type for dissimilarity.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Proxy configuration file for TerraView (see terraview_config.h).