25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGSEGMENT_H    26 #define __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGSEGMENT_H    40     template< 
typename FeatureDataTypeT >
   143       inline void disable() { m_mergetIteration = std::numeric_limits< IterationCounterType>::max(); };
   149       inline bool isEnabled()
 const { 
return m_mergetIteration != std::numeric_limits< IterationCounterType>::max(); };        
   153     template< 
typename FeatureDataTypeT > 
   194     template< 
typename FeatureDataTypeT >
   200         unsigned int idx = 0;
   225         m_neighborSegmentsSize = m_neighborSegmentsSize + 1;
   229     template< 
typename FeatureDataTypeT >
   233       unsigned int numberOfZeroes = 0;
   234       unsigned int idx = 0;
   248       unsigned int numberOfNonZeroes = m_neighborSegmentsSize - numberOfZeroes;
   250       if( ( m_neighborSegmentsSize > 4 ) && ( numberOfNonZeroes < numberOfZeroes ) )
   255         unsigned int idx2 = 0;  
   267         m_neighborSegmentsSize = numberOfNonZeroes;
   271     template< 
typename FeatureDataTypeT >
   281 #endif // __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGSEGMENT_H unsigned int m_xStart
Segment left X coordinate box over the label image. 
 
bool isEnabled() const 
Returns true if this segment is enabled. 
 
void disable()
Disable this segment ( same as m_mergetIteration = std::numeric_limits< SegmenterRegionGrowingSegment...
 
SegmenterRegionGrowingSegment< FeatureDataTypeT > & operator=(const SegmenterRegionGrowingSegment< FeatureDataTypeT > &other)
 
unsigned int m_neighborSegmentsSize
The current size of m_neighborSegments. 
 
unsigned short int IterationCounterType
Feature type definition. 
 
unsigned int SegmentIdDataType
 
SegmenterRegionGrowingSegment< FeatureDataTypeT > * m_prevActiveSegment
A pointer to the previous active segment. 
 
IterationCounterType m_mergetIteration
The current merge iteration. 
 
SegmenterRegionGrowingSegment< FeatureDataTypeT > * m_nextActiveSegment
A pointer to the next active segment. 
 
void removeAllNeighborSegmentsPtrs()
Remove all neighbor segments. 
 
void addNeighborSegmentPtr(SegmenterRegionGrowingSegment< FeatureDataTypeT > *const nSegPtr)
Add a pointer of a neighbor segment (if it is not already there). 
 
SegmenterSegmentsBlock::SegmentIdDataType m_id
Segment ID. 
 
unsigned int m_yStart
Segment upper Y coordinate box over the label image. 
 
FeatureType * m_features
A pionter to a fixed size vector of segment features. 
 
Configuration flags for the Raster Processing module of TerraLib. 
 
SegmenterRegionGrowingSegment< FeatureDataTypeT > ** m_neighborSegments
Neighborhood segments pointers (some pointers can be null) or a null pointer if there is no neighborh...
 
unsigned int m_xBound
Segment lower bound X coordinate box over the label image. 
 
void removeNeighborSegmentPtr(SegmenterRegionGrowingSegment< FeatureDataTypeT > *const nSegPtr)
Remove all occurrences of a neighbor segment. 
 
unsigned int m_yBound
Segment lower bound Y coordinate box over the label image. 
 
unsigned int m_size
Segment area (pixels number). 
 
unsigned int m_featuresSize
The current size of m_features. 
 
FeatureDataTypeT FeatureType
Feature type definition.