Typedefs | |
typedef float | BaatzFeatureType |
Baatz Strategy feature type. | |
typedef unsigned short int | IterationCounterType |
Iteration counter type. | |
typedef float | MeanFeatureType |
Mean Strategy feature type. | |
typedef Matrix< SegmenterSegmentsBlock::SegmentIdDataType > | SegmentsIdsMatrixT |
Definition for segments ids matrix type. | |
Functions | |
void | exportSegs2Tif (const SegmentsIdsMatrixT &segmentsIds, bool normto8bits, const std::string &fileName) |
Export the segments IDs to a tif file. | |
template<typename FeatureDataTypeT > | |
void | findMinDissimilaryNeighbor (SegmenterRegionGrowingSegment< FeatureDataTypeT > const *const segPtr, const SegmenterRegionGrowingMerger< FeatureDataTypeT > &merger, SegmenterRegionGrowingMergeData *const auxMergeDataPtr1, SegmenterRegionGrowingMergeData *const auxMergeDataPtr2, SegmenterRegionGrowingSegment< FeatureDataTypeT > **minDissimilarityNeighborPtr, DissimilarityTypeT &minDissimilarityValue, SegmenterRegionGrowingMergeData **minDissimilarityMergeDataPtr) |
Locatie the minimim dissimilarity neighbor segment. | |
template<typename FeatureDataTypeT > | |
unsigned long int | getActiveSegmentsNumber (SegmenterRegionGrowingSegment< FeatureDataTypeT > *const actSegsListHeadPtr) |
Returns the number of active segments. | |
template<typename FeatureDataTypeT > | |
void | merge2Segments (SegmenterRegionGrowingSegment< FeatureDataTypeT > *segPtr1, SegmenterRegionGrowingSegment< FeatureDataTypeT > *segPtr2, SegmenterRegionGrowingMergeData const *const mergeDataPtr, SegmentsIdsMatrixT &segmentsIds, SegmenterRegionGrowingMerger< FeatureDataTypeT > &merger, SegmenterRegionGrowingSegment< FeatureDataTypeT > **actSegsListHeadPtrPtr) |
Merge segment 2 into segment 1. | |
template<typename FeatureDataTypeT > | |
bool | mergeSegments (const DissimilarityTypeT maxDisimilarityThreshold, const bool enablelocalMutualBestFitting, SegmentsIdsMatrixT &segmentsIds, SegmenterIdsManager &segmenterIdsManager, SegmenterRegionGrowingMerger< FeatureDataTypeT > &merger, IterationCounterType &globalMergeIterationsCounter, const double sameItMergesThreshold, const unsigned int segmentsSimIncreaseSteps, SegmenterRegionGrowingSegment< FeatureDataTypeT > **actSegsListHeadPtrPtr, te::common::TaskProgress *taskProgressPtr) |
Merge segments following a maximum dissimilarity thresold. | |
template<typename FeatureDataTypeT > | |
void | mergeTooSmallSegments (const unsigned int maximumSegmentSize, SegmentsIdsMatrixT &segmentsIds, SegmenterIdsManager &segmenterIdsManager, SegmenterRegionGrowingMerger< FeatureDataTypeT > &merger, IterationCounterType &globalMergeIterationsCounter, SegmenterRegionGrowingSegment< FeatureDataTypeT > **actSegsListHeadPtrPtr) |
Merge too small segments to its closer neighbor. | |
typedef float te::rp::rg::BaatzFeatureType |
Baatz Strategy feature type.
Definition at line 62 of file SegmenterRegionGrowingFunctions.h.
typedef unsigned short int te::rp::rg::IterationCounterType |
Iteration counter type.
Definition at line 52 of file SegmenterRegionGrowingFunctions.h.
typedef float te::rp::rg::MeanFeatureType |
Mean Strategy feature type.
Definition at line 57 of file SegmenterRegionGrowingFunctions.h.
Definition for segments ids matrix type.
Definition at line 47 of file SegmenterRegionGrowingFunctions.h.
void te::rp::rg::exportSegs2Tif | ( | const SegmentsIdsMatrixT & | segmentsIds, |
bool | normto8bits, | ||
const std::string & | fileName | ||
) |
Export the segments IDs to a tif file.
segmentsIds | The output segment ids container. |
normto8bits | If true, a 8 bits file will be generated. |
fileName | The output tif file name. |
void te::rp::rg::findMinDissimilaryNeighbor | ( | SegmenterRegionGrowingSegment< FeatureDataTypeT > const *const | segPtr, |
const SegmenterRegionGrowingMerger< FeatureDataTypeT > & | merger, | ||
SegmenterRegionGrowingMergeData *const | auxMergeDataPtr1, | ||
SegmenterRegionGrowingMergeData *const | auxMergeDataPtr2, | ||
SegmenterRegionGrowingSegment< FeatureDataTypeT > ** | minDissimilarityNeighborPtr, | ||
DissimilarityTypeT & | minDissimilarityValue, | ||
SegmenterRegionGrowingMergeData ** | minDissimilarityMergeDataPtr | ||
) |
Locatie the minimim dissimilarity neighbor segment.
segPtr | Target segment pointer |
merger | Merger instance refecence. |
minDissimilarityNeighborPtr | Found neighbor semgnet pointer or null pointer if not found. |
minDissimilarityValue | The found dissimilarity value. |
auxMergeDataPtr1 | A pointer to a valid input merge data object. |
auxMergeDataPtr2 | A pointer to a second valid input merge data object. |
minDissimilarityMergeDataPtr | This pointer will be set to point to one of the given auxiliary merge data updated with the current minimum forward segment parameters. |
Definition at line 104 of file SegmenterRegionGrowingFunctions.h.
References te::rp::SegmenterRegionGrowingMerger< FeatureDataTypeT >::getDissimilarity(), te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_neighborSegments, and te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_neighborSegmentsSize.
Referenced by mergeSegments(), and mergeTooSmallSegments().
unsigned long int te::rp::rg::getActiveSegmentsNumber | ( | SegmenterRegionGrowingSegment< FeatureDataTypeT > *const | actSegsListHeadPtr | ) |
Returns the number of active segments.
actSegsListHeadPtr | A pointer the the active segments list head. |
Definition at line 79 of file SegmenterRegionGrowingFunctions.h.
References te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_nextActiveSegment.
void te::rp::rg::merge2Segments | ( | SegmenterRegionGrowingSegment< FeatureDataTypeT > * | segPtr1, |
SegmenterRegionGrowingSegment< FeatureDataTypeT > * | segPtr2, | ||
SegmenterRegionGrowingMergeData const *const | mergeDataPtr, | ||
SegmentsIdsMatrixT & | segmentsIds, | ||
SegmenterRegionGrowingMerger< FeatureDataTypeT > & | merger, | ||
SegmenterRegionGrowingSegment< FeatureDataTypeT > ** | actSegsListHeadPtrPtr | ||
) |
Merge segment 2 into segment 1.
segmentsIds | Segments ids container. |
merger | The merger instance to use. |
actSegsListHeadPtr | A pointer the the active segments list head. |
minMergesIterationThreshold | Stop itarating when the number of merges drops below this value (Range 0-100); |
Definition at line 166 of file SegmenterRegionGrowingFunctions.h.
References te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::addNeighborSegmentPtr(), te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::disable(), te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_id, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_neighborSegments, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_neighborSegmentsSize, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_nextActiveSegment, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_prevActiveSegment, 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, te::rp::SegmenterRegionGrowingMerger< FeatureDataTypeT >::mergeFeatures(), te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::removeAllNeighborSegmentsPtrs(), and te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::removeNeighborSegmentPtr().
Referenced by mergeSegments(), and mergeTooSmallSegments().
bool te::rp::rg::mergeSegments | ( | const DissimilarityTypeT | maxDisimilarityThreshold, |
const bool | enablelocalMutualBestFitting, | ||
SegmentsIdsMatrixT & | segmentsIds, | ||
SegmenterIdsManager & | segmenterIdsManager, | ||
SegmenterRegionGrowingMerger< FeatureDataTypeT > & | merger, | ||
IterationCounterType & | globalMergeIterationsCounter, | ||
const double | sameItMergesThreshold, | ||
const unsigned int | segmentsSimIncreaseSteps, | ||
SegmenterRegionGrowingSegment< FeatureDataTypeT > ** | actSegsListHeadPtrPtr, | ||
te::common::TaskProgress * | taskProgressPtr | ||
) |
Merge segments following a maximum dissimilarity thresold.
disimilarityThreshold | Maximum dissimilarity threshold. |
enablelocalMutualBestFitting | Enable/disable the use of mutual best fitting (two segments will be merged only if both have the mininum neighbor dissimilarity to each other). |
segmentsIds | Segments ids container. |
segmenterIdsManager | A segments ids manager to acquire unique segments ids. |
merger | The merger instance to use. |
globalMergeIterationsCounter | A reference to a iteration number counter (this variable will be only incremented, never zeroed. It never must be reset. ). |
sameItMergesThreshold | Min percentual difference from one iteration to the next (in terms of merges number) to execute one iteration where multiple merges are allowed for the same segment or to increase the Similarity Threshold(valid ranged: 0 -> 100). |
segmentsSimIncreaseSteps | The maximum number of steps to increment the disimilarity threshold value for the cases where no segment merge occurred - zero will disable segment similarity threshold increments. |
actSegsListHeadPtrPtr | A pointer the the active segments list head. |
taskProgressPtr | A pointer to a progress interface to check for user cancel or a null pointer (no pulse performed). |
Definition at line 418 of file SegmenterRegionGrowingFunctions.h.
References te::rp::SegmenterRegionGrowingMerger< FeatureDataTypeT >::createMergeData(), findMinDissimilaryNeighbor(), te::common::TaskProgress::isActive(), te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_mergetIteration, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_nextActiveSegment, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_size, merge2Segments(), TERP_TRUE_OR_THROW, and te::rp::SegmenterRegionGrowingMerger< FeatureDataTypeT >::update().
void te::rp::rg::mergeTooSmallSegments | ( | const unsigned int | maximumSegmentSize, |
SegmentsIdsMatrixT & | segmentsIds, | ||
SegmenterIdsManager & | segmenterIdsManager, | ||
SegmenterRegionGrowingMerger< FeatureDataTypeT > & | merger, | ||
IterationCounterType & | globalMergeIterationsCounter, | ||
SegmenterRegionGrowingSegment< FeatureDataTypeT > ** | actSegsListHeadPtrPtr | ||
) |
Merge too small segments to its closer neighbor.
maximumSegmentSize | Only merge segments with sizes smaller than this value. |
segmentsIds | Segments ids container. |
segmenterIdsManager | A segments ids manager to acquire unique segments ids. |
merger | The merger instance to use. |
globalMergeIterationsCounter | A reference to a iteration number counter (this variable will be only incremented, never zeroed. It never must be reset. ). |
actSegsListHeadPtr | A pointer the the active segments list head. |
Definition at line 306 of file SegmenterRegionGrowingFunctions.h.
References te::rp::SegmenterRegionGrowingMerger< FeatureDataTypeT >::createMergeData(), findMinDissimilaryNeighbor(), te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_mergetIteration, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_nextActiveSegment, te::rp::SegmenterRegionGrowingSegment< FeatureDataTypeT >::m_size, merge2Segments(), TERP_TRUE_OR_THROW, and te::rp::SegmenterRegionGrowingMerger< FeatureDataTypeT >::update().