Baatz based Segments merger. More...
#include <SegmenterRegionGrowingBaatzMerger.h>
Public Member Functions | |
| DissimilarityTypeT | getDissimilarity (SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const segment1Ptr, SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const segment2Ptr, SegmenterRegionGrowingSegment< rg::BaatzFeatureType > *const mergePreviewSegPtr) const |
| Returns a dimilarity index between this and the other segment. More... | |
| unsigned int | getSegmentFeaturesSize () const |
| Return the required segments features vector size (numer of elements). More... | |
| void | mergeFeatures (SegmenterRegionGrowingSegment< rg::BaatzFeatureType > *const segment1Ptr, SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const segment2Ptr, SegmenterRegionGrowingSegment< rg::BaatzFeatureType > const *const mergePreviewSegPtr) 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 () | |
Static Protected Member Functions | |
| static void | getTouchingEdgeLength (const SegmentsIdsMatrixT &segsIds, const unsigned int &xStart, const unsigned int &yStart, const unsigned int &xBound, const unsigned int &yBound, const SegmenterSegmentsBlock::SegmentIdDataType &id1, const SegmenterSegmentsBlock::SegmentIdDataType &id2, unsigned int &edgeLength1, unsigned int &edgeLength2) |
| Returns the count of points from region 1 (with ID1) touching the region 2 (with ID2). More... | |
Baatz based Segments merger.
Definition at line 44 of file SegmenterRegionGrowingBaatzMerger.h.
| te::rp::SegmenterRegionGrowingBaatzMerger::SegmenterRegionGrowingBaatzMerger | ( | const double & | colorWeight, |
| const double & | compactnessWeight, | ||
| const std::vector< double > & | bandsWeights, | ||
| const SegmentsIdsMatrixT & | segmentsIds | ||
| ) |
Default constructor.
| bandsWeights | A 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]. |
Definition at line 53 of file SegmenterRegionGrowingBaatzMerger.cpp.
References band, m_bandsNumber, m_bandsWeights, and ~SegmenterRegionGrowingBaatzMerger().
|
default |
Referenced by SegmenterRegionGrowingBaatzMerger().
|
virtual |
Returns a dimilarity index between this and the other segment.
| segment1Ptr | A pointer to the first segment. |
| segment2Ptr | A pointer to the second segment. |
| mergePreviewSegPtr | A pointer to a valid segment where the merged features values will be stored (when aplicable). |
Implements te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >.
Definition at line 80 of file SegmenterRegionGrowingBaatzMerger.cpp.
References BAATZ_CO, BAATZ_EL, BAATZ_SM, BAATZ_SS, BAATZ_ST, BAATZ_SU, getTouchingEdgeLength(), m_allSegsCompactnessGain, m_allSegsCompactnessOffset, m_allSegsSmoothnessGain, m_allSegsSmoothnessOffset, m_allSegsStdDevGain, m_allSegsStdDevOffset, m_bandsNumber, m_bandsWeights, m_colorWeight, m_compactnessWeight, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_features, m_getDissimilarity_hColor, m_getDissimilarity_hCompact, m_getDissimilarity_hForm, m_getDissimilarity_hSmooth, m_getDissimilarity_meanUnion, m_getDissimilarity_sizeSeg1D, m_getDissimilarity_sizeSeg2D, m_getDissimilarity_sizeUnionD, m_getDissimilarity_squaresSumUnion, m_getDissimilarity_stdDevUnion, m_getDissimilarity_sumsIdx, m_getDissimilarity_sumUnion, m_getDissimilarity_touchingEdgeLength1, m_getDissimilarity_touchingEdgeLength2, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_id, m_segmentsIds, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_size, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_xBound, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_xStart, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_yBound, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_yStart, and TERP_DEBUG_TRUE_OR_THROW.
|
inlinevirtual |
Return the required segments features vector size (numer of elements).
Implements te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >.
Definition at line 78 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by mergeFeatures().
|
staticprotected |
Returns the count of points from region 1 (with ID1) touching the region 2 (with ID2).
| segsIds | The segment ids container. |
| xStart | The upper left X of the bounding box surrounding both regions. |
| yStart | The upper left Y of the bounding box surrounding both regions. |
| xBound | The lower right X bound of the bounding box surrounding both regions. |
| yBound | The lower right Y bound of the bounding box surrounding both regions. |
| id1 | Region 1 ID. |
| id2 | Region 2 ID. |
| edgeLength1 | The touching edge length for the region 1. |
| edgeLength2 | The touching edge length for the region 2. |
Definition at line 505 of file SegmenterRegionGrowingBaatzMerger.cpp.
References te::rp::Matrix< TemplateElementType >::getColumnsNumber(), te::rp::Matrix< TemplateElementType >::getLinesNumber(), and TERP_DEBUG_TRUE_OR_THROW.
Referenced by getDissimilarity().
|
virtual |
Merge specific segment features from both segments into the first segment.
| segment1Ptr | The first segment. |
| segment2Ptr | A pointer to the second segment. |
| mergePreviewSegPtr | A pointer to a valid segment where the merged features values were be stored by calling getDissimilarityIndex (when aplicable). |
Implements te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >.
Definition at line 369 of file SegmenterRegionGrowingBaatzMerger.cpp.
References getSegmentFeaturesSize(), te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_features, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_size, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_xBound, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_xStart, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_yBound, and te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_yStart.
|
virtual |
Update the internal state.
| actSegsListHeadPtr | A pointer the the active segments list head. |
Implements te::rp::SegmenterRegionGrowingMerger< rg::BaatzFeatureType >.
Definition at line 394 of file SegmenterRegionGrowingBaatzMerger.cpp.
References BAATZ_CO, BAATZ_SM, BAATZ_STSTARTPTR, m_allSegsCompactnessGain, m_allSegsCompactnessOffset, m_allSegsSmoothnessGain, m_allSegsSmoothnessOffset, m_allSegsStdDevGain, m_allSegsStdDevOffset, m_bandsNumber, m_colorWeight, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_features, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_nextActiveSegment, m_update_band, m_update_compactnessMax, m_update_compactnessMin, m_update_currentActSegPtr, m_update_featuresPtr, m_update_smoothnessMax, m_update_smoothnessMin, m_update_stdDevMax, m_update_stdDevMin, and m_update_stdDevPtr.
|
protected |
The gains applied to normalize the compactness value.
Definition at line 86 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity(), and update().
|
protected |
The offsets applied to normalize the compactness value.
Definition at line 85 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity(), and update().
|
protected |
The gains applied to normalize the smoothness value.
Definition at line 88 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity(), and update().
|
protected |
The offsets applied to normalize the smoothness value.
Definition at line 87 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity(), and update().
|
protected |
The gains applied to normalize the standard deviation value.
Definition at line 90 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity(), and update().
|
protected |
The offsets applied to normalize the standard deviation value.
Definition at line 89 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity(), and update().
|
protected |
The number of features (bands).
Definition at line 83 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity(), SegmenterRegionGrowingBaatzMerger(), and update().
|
protected |
A vector where each bands weight are stored.
Definition at line 93 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity(), and SegmenterRegionGrowingBaatzMerger().
|
protected |
The weight given to the color component, deafult:0.5, valid range: [0,1].
Definition at line 91 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity(), and update().
|
protected |
The weight given to the compactness component, deafult:0.5, valid range: [0,1].
Definition at line 92 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 104 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 101 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 103 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 102 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 107 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 97 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 98 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 96 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 106 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 108 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 109 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 105 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 99 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 100 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
protected |
A reference to an external valid structure where each all segments IDs are stored.
Definition at line 78 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by getDissimilarity().
|
mutableprotected |
Definition at line 120 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().
|
mutableprotected |
Definition at line 113 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().
|
mutableprotected |
Definition at line 112 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().
|
mutableprotected |
Definition at line 119 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().
|
mutableprotected |
Definition at line 118 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().
|
mutableprotected |
Definition at line 115 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().
|
mutableprotected |
Definition at line 114 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().
|
mutableprotected |
Definition at line 117 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().
|
mutableprotected |
Definition at line 116 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().
|
mutableprotected |
Definition at line 121 of file SegmenterRegionGrowingBaatzMerger.h.
Referenced by update().