te::rp::SegmenterRegionGrowingBaatzMerger Class Referenceabstract

Baatz based Segments merger. More...

#include <SegmenterRegionGrowingBaatzMerger.h>

Inheritance diagram for te::rp::SegmenterRegionGrowingBaatzMerger:
te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >

Classes

class  MergeData
 Baatz specific merge data. More...
 

Public Member Functions

void createMergeData (SegmenterRegionGrowingMergeData **mergeDataPtr) const
 Create a new merge data instance when applicable. More...
 
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. More...
 
unsigned int getSegmentFeaturesSize () const
 
virtual unsigned int getSegmentFeaturesSize () const=0
 Return the required segments features vector size (numer of elements). More...
 
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. More...
 
 SegmenterRegionGrowingBaatzMerger (const double &colorWeight, const double &compactnessWeight, const std::vector< double > &bandsWeights, const SegmentsIdsMatrixT &segmentsIds)
 Default constructor. More...
 
void update (SegmenterRegionGrowingSegment< rg::BaatzFeatureType > *const actSegsListHeadPtr)
 Update the internal state. More...
 
 ~SegmenterRegionGrowingBaatzMerger ()
 

Protected Member Functions

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

Protected Attributes

rg::BaatzFeatureType m_allSegsCompactnessGain
 The gains applied to normalize the compactness value. More...
 
rg::BaatzFeatureType m_allSegsCompactnessOffset
 The offsets applied to normalize the compactness value. More...
 
rg::BaatzFeatureType m_allSegsSmoothnessGain
 The gains applied to normalize the smoothness value. More...
 
rg::BaatzFeatureType m_allSegsSmoothnessOffset
 The offsets applied to normalize the smoothness value. More...
 
rg::BaatzFeatureType m_allSegsStdDevGain
 The gains applied to normalize the standard deviation value. More...
 
rg::BaatzFeatureType m_allSegsStdDevOffset
 The offsets applied to normalize the standard deviation value. More...
 
unsigned int m_bandsNumber
 The number of features (bands). More...
 
std::vector< rg::BaatzFeatureTypem_bandsWeights
 A vector where each bands weight are stored. More...
 
rg::BaatzFeatureType m_colorWeight
 The weight given to the color component, deafult:0.5, valid range: [0,1]. More...
 
rg::BaatzFeatureType m_compactnessWeight
 The weight given to the compactness component, deafult:0.5, valid range: [0,1]. More...
 
int * m_dirsColOffsVecPtr
 pointer to a internal vector of directions column offsets. More...
 
int * m_dirsRowOffsVecPtr
 pointer to a internal vector of directions row offsets. More...
 
rg::BaatzFeatureType m_getDissimilarity_hColor
 
rg::BaatzFeatureType m_getDissimilarity_hCompact
 
rg::BaatzFeatureType m_getDissimilarity_heightUnionD
 
rg::BaatzFeatureType m_getDissimilarity_hForm
 
rg::BaatzFeatureType m_getDissimilarity_hSmooth
 
rg::BaatzFeatureType m_getDissimilarity_meanUnion
 
MergeDatam_getDissimilarity_mergeDataPtr
 
rg::BaatzFeatureType m_getDissimilarity_sizeSeg1D
 
rg::BaatzFeatureType m_getDissimilarity_sizeSeg2D
 
rg::BaatzFeatureType m_getDissimilarity_sizeUnionD
 
rg::BaatzFeatureType m_getDissimilarity_squaresSumUnion
 
rg::BaatzFeatureType m_getDissimilarity_stdDevUnion
 
unsigned int m_getDissimilarity_sumsIdx
 
rg::BaatzFeatureType m_getDissimilarity_sumUnion
 
unsigned int m_getDissimilarity_touchingEdgeLength
 
rg::BaatzFeatureType m_getDissimilarity_widthUnionD
 
int m_getTouchingEdgeLength_col
 
int m_getTouchingEdgeLength_row
 
int m_getTouchingEdgeLength_seg1ColStart
 
int m_getTouchingEdgeLength_seg1RowStart
 
MergeData const * m_mergeFeatures_mergeDataPtr
 
unsigned int m_segmentFeaturesSize
 
const SegmentsIdsMatrixTm_segmentsIdsMatrix
 A reference to an external valid structure where each all segments IDs are stored. More...
 
unsigned int m_segmentsIdsMatrixNCols
 Matrix cols numnber;. More...
 
unsigned int m_segmentsIdsMatrixNRows
 Matrix rows numnber;. More...
 
unsigned int m_update_band
 
rg::BaatzFeatureType m_update_compactnessMax
 
rg::BaatzFeatureType m_update_compactnessMin
 
SegmenterRegionGrowingSegment< rg::BaatzFeatureType > * m_update_currentActSegPtr
 
rg::BaatzFeatureTypem_update_featuresPtr
 
rg::BaatzFeatureType m_update_smoothnessMax
 
rg::BaatzFeatureType m_update_smoothnessMin
 
rg::BaatzFeatureType m_update_stdDevMax
 
rg::BaatzFeatureType m_update_stdDevMin
 
rg::BaatzFeatureType const * m_update_stdDevPtr
 

Detailed Description

Baatz based Segments merger.

Definition at line 45 of file SegmenterRegionGrowingBaatzMerger.h.

Constructor & Destructor Documentation

◆ SegmenterRegionGrowingBaatzMerger()

te::rp::SegmenterRegionGrowingBaatzMerger::SegmenterRegionGrowingBaatzMerger ( const double &  colorWeight,
const double &  compactnessWeight,
const std::vector< double > &  bandsWeights,
const SegmentsIdsMatrixT segmentsIds 
)

Default constructor.

Parameters
bandsWeightsA reference to an external valid structure where each bands weight are stored.
segmentsIds//!< A reference to an external valid structure where all segments IDs are stored.
segmentsMatrix//!< A reference to an external valid segments matrix.
colorWeight//!< The weight given to the color component, deafult:0.5, valid range: [0,1].
compactnessWeight//!< The weight given to the compactness component, deafult:0.5, valid range: [0,1].

◆ ~SegmenterRegionGrowingBaatzMerger()

te::rp::SegmenterRegionGrowingBaatzMerger::~SegmenterRegionGrowingBaatzMerger ( )

Member Function Documentation

◆ createMergeData()

void te::rp::SegmenterRegionGrowingBaatzMerger::createMergeData ( SegmenterRegionGrowingMergeData **  mergeDataPtr) const
virtual

Create a new merge data instance when applicable.

Parameters
mergeDataPtrPointer to the new merge data instance or null when not applicable (the caller of this method must take the ownership of the returned object).

Implements te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >.

◆ getDissimilarity()

DissimilarityTypeT te::rp::SegmenterRegionGrowingBaatzMerger::getDissimilarity ( SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const  segment1Ptr,
SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const  segment2Ptr,
SegmenterRegionGrowingMergeData *const  mergeDataPtr 
) const
virtual

Returns a dimilarity index between this and the other segment.

Parameters
segment1PtrA pointer to the first segment.
segment2PtrA pointer to the second segment.
mergeDataPtrA pointer to a valid merge data where the merged features values will be stored (when aplicable) or a null pointer.
Returns
A similarity index between this and the other segment ( normalized between 0 and 1 ).

Implements te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >.

◆ getSegmentFeaturesSize() [1/2]

unsigned int te::rp::SegmenterRegionGrowingBaatzMerger::getSegmentFeaturesSize ( ) const
inline

Definition at line 79 of file SegmenterRegionGrowingBaatzMerger.h.

◆ getSegmentFeaturesSize() [2/2]

virtual unsigned int te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >::getSegmentFeaturesSize
pure virtualinherited

Return the required segments features vector size (numer of elements).

Returns
Return the required segments features vector size (numer of elements).

◆ getTouchingEdgeLength()

void te::rp::SegmenterRegionGrowingBaatzMerger::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
protected

Returns the count of points from region 1 (with ID1) touching the region 2 (with ID2).

Parameters
colStart1The upper left X of the bounding box surrounding region 1.
rowStart1The upper left Y of the bounding box surrounding region 1.
colBound1The lower right X bound of the bounding box surrounding region 1.
rowBound1The lower right Y bound of the bounding box surrounding region 1.
colStart2The upper left X of the bounding box surrounding region 2.
rowStart2The upper left Y of the bounding box surrounding region 2.
colBound2The lower right X bound of the bounding box surrounding region 2.
rowBound2The lower right Y bound of the bounding box surrounding region 21.
id1Region 1 ID.
id2Region 2 ID.
touchingEdgeLengthThe touching edge length.
Note
The internal m_segmentsIdsMatrix will be used.

◆ mergeFeatures()

void te::rp::SegmenterRegionGrowingBaatzMerger::mergeFeatures ( SegmenterRegionGrowingSegment< rg::BaatzFeatureType > *const  segment1Ptr,
SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const  segment2Ptr,
SegmenterRegionGrowingMergeData const *const  mergeDataPtr 
) const
virtual

Merge specific segment features from both segments into the first segment.

Parameters
segment1PtrThe first segment.
segment2PtrA pointer to the second segment.
mergeDataPtrA pointer to a valid merge data where the merged features will be read (when aplicable) or a null pointer..

Implements te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >.

◆ update()

void te::rp::SegmenterRegionGrowingBaatzMerger::update ( SegmenterRegionGrowingSegment< rg::BaatzFeatureType > *const  actSegsListHeadPtr)
virtual

Update the internal state.

Parameters
actSegsListHeadPtrA pointer the the active segments list head.

Implements te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >.

Member Data Documentation

◆ m_allSegsCompactnessGain

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_allSegsCompactnessGain
protected

The gains applied to normalize the compactness value.

Definition at line 115 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_allSegsCompactnessOffset

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_allSegsCompactnessOffset
protected

The offsets applied to normalize the compactness value.

Definition at line 114 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_allSegsSmoothnessGain

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_allSegsSmoothnessGain
protected

The gains applied to normalize the smoothness value.

Definition at line 117 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_allSegsSmoothnessOffset

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_allSegsSmoothnessOffset
protected

The offsets applied to normalize the smoothness value.

Definition at line 116 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_allSegsStdDevGain

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_allSegsStdDevGain
protected

The gains applied to normalize the standard deviation value.

Definition at line 119 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_allSegsStdDevOffset

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_allSegsStdDevOffset
protected

The offsets applied to normalize the standard deviation value.

Definition at line 118 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_bandsNumber

unsigned int te::rp::SegmenterRegionGrowingBaatzMerger::m_bandsNumber
protected

The number of features (bands).

Definition at line 112 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_bandsWeights

std::vector< rg::BaatzFeatureType > te::rp::SegmenterRegionGrowingBaatzMerger::m_bandsWeights
protected

A vector where each bands weight are stored.

Definition at line 122 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_colorWeight

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_colorWeight
protected

The weight given to the color component, deafult:0.5, valid range: [0,1].

Definition at line 120 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_compactnessWeight

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_compactnessWeight
protected

The weight given to the compactness component, deafult:0.5, valid range: [0,1].

Definition at line 121 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_dirsColOffsVecPtr

int* te::rp::SegmenterRegionGrowingBaatzMerger::m_dirsColOffsVecPtr
mutableprotected

pointer to a internal vector of directions column offsets.

Definition at line 107 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_dirsRowOffsVecPtr

int* te::rp::SegmenterRegionGrowingBaatzMerger::m_dirsRowOffsVecPtr
mutableprotected

pointer to a internal vector of directions row offsets.

Definition at line 108 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_hColor

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_hColor
mutableprotected

Definition at line 133 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_hCompact

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_hCompact
mutableprotected

Definition at line 130 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_heightUnionD

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_heightUnionD
mutableprotected

Definition at line 140 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_hForm

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_hForm
mutableprotected

Definition at line 132 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_hSmooth

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_hSmooth
mutableprotected

Definition at line 131 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_meanUnion

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_meanUnion
mutableprotected

Definition at line 136 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_mergeDataPtr

MergeData* te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_mergeDataPtr
mutableprotected

Definition at line 125 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_sizeSeg1D

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_sizeSeg1D
mutableprotected

Definition at line 127 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_sizeSeg2D

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_sizeSeg2D
mutableprotected

Definition at line 128 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_sizeUnionD

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_sizeUnionD
mutableprotected

Definition at line 126 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_squaresSumUnion

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_squaresSumUnion
mutableprotected

Definition at line 135 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_stdDevUnion

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_stdDevUnion
mutableprotected

Definition at line 137 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_sumsIdx

unsigned int te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_sumsIdx
mutableprotected

Definition at line 138 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_sumUnion

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_sumUnion
mutableprotected

Definition at line 134 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_touchingEdgeLength

unsigned int te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_touchingEdgeLength
mutableprotected

Definition at line 129 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getDissimilarity_widthUnionD

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_getDissimilarity_widthUnionD
mutableprotected

Definition at line 139 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getTouchingEdgeLength_col

int te::rp::SegmenterRegionGrowingBaatzMerger::m_getTouchingEdgeLength_col
mutableprotected

Definition at line 159 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getTouchingEdgeLength_row

int te::rp::SegmenterRegionGrowingBaatzMerger::m_getTouchingEdgeLength_row
mutableprotected

Definition at line 158 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getTouchingEdgeLength_seg1ColStart

int te::rp::SegmenterRegionGrowingBaatzMerger::m_getTouchingEdgeLength_seg1ColStart
mutableprotected

Definition at line 160 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_getTouchingEdgeLength_seg1RowStart

int te::rp::SegmenterRegionGrowingBaatzMerger::m_getTouchingEdgeLength_seg1RowStart
mutableprotected

Definition at line 161 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_mergeFeatures_mergeDataPtr

MergeData const* te::rp::SegmenterRegionGrowingBaatzMerger::m_mergeFeatures_mergeDataPtr
mutableprotected

Definition at line 143 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_segmentFeaturesSize

unsigned int te::rp::SegmenterRegionGrowingBaatzMerger::m_segmentFeaturesSize
protected

Definition at line 113 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_segmentsIdsMatrix

const SegmentsIdsMatrixT& te::rp::SegmenterRegionGrowingBaatzMerger::m_segmentsIdsMatrix
protected

A reference to an external valid structure where each all segments IDs are stored.

Definition at line 109 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_segmentsIdsMatrixNCols

unsigned int te::rp::SegmenterRegionGrowingBaatzMerger::m_segmentsIdsMatrixNCols
protected

Matrix cols numnber;.

Definition at line 111 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_segmentsIdsMatrixNRows

unsigned int te::rp::SegmenterRegionGrowingBaatzMerger::m_segmentsIdsMatrixNRows
protected

Matrix rows numnber;.

Definition at line 110 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_band

unsigned int te::rp::SegmenterRegionGrowingBaatzMerger::m_update_band
protected

Definition at line 154 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_compactnessMax

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_update_compactnessMax
protected

Definition at line 147 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_compactnessMin

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_update_compactnessMin
protected

Definition at line 146 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_currentActSegPtr

SegmenterRegionGrowingSegment< rg::BaatzFeatureType >* te::rp::SegmenterRegionGrowingBaatzMerger::m_update_currentActSegPtr
protected

Definition at line 153 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_featuresPtr

rg::BaatzFeatureType* te::rp::SegmenterRegionGrowingBaatzMerger::m_update_featuresPtr
protected

Definition at line 152 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_smoothnessMax

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_update_smoothnessMax
protected

Definition at line 149 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_smoothnessMin

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_update_smoothnessMin
protected

Definition at line 148 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_stdDevMax

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_update_stdDevMax
protected

Definition at line 151 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_stdDevMin

rg::BaatzFeatureType te::rp::SegmenterRegionGrowingBaatzMerger::m_update_stdDevMin
protected

Definition at line 150 of file SegmenterRegionGrowingBaatzMerger.h.

◆ m_update_stdDevPtr

rg::BaatzFeatureType const* te::rp::SegmenterRegionGrowingBaatzMerger::m_update_stdDevPtr
protected

Definition at line 155 of file SegmenterRegionGrowingBaatzMerger.h.


The documentation for this class was generated from the following file: