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).