24       const unsigned int featuresNumber)
 
   32           unsigned int nCols = (
unsigned int)std::floor( std::sqrt( (
double)segsNumber ) );
 
   33           unsigned int nRows = (
unsigned int)std::ceil( ((
double)segsNumber) / 
 
   35           assert( ( nCols * nRows ) >= segsNumber );
 
   57             for( 
unsigned int row = 0 ; row < nRows ; ++row )
 
   59               for( col = 0 ; col < nCols ; ++col )
 
   61                 m_segments[ row ][ col ].m_neighborSegments = 0;
 
   62                 m_segments[ row ][ col ].m_neighborSegmentsSize = 0;
 
   64                 m_segments[ row ][ col ].m_featuresSize = featuresNumber;
 
   71             for( 
unsigned int row = 0 ; row < nRows ; ++row )
 
   73               for( col = 0 ; col < nCols ; ++col )
 
   75                 m_segments[ row ][ col ].m_neighborSegments = 0;
 
   76                 m_segments[ row ][ col ].m_neighborSegmentsSize = 0;
 
  116       unsigned int nRows = 
m_segments.getLinesNumber();
 
  117       unsigned int nCols = 
m_segments.getColumnsNumber();      
 
  119       unsigned int col = 0;
 
  120       for( 
unsigned int row = 0 ; row < nRows ; ++row )
 
  122         for( col = 0 ; col < nCols ; ++col )
 
  124           if( 
m_segments[ row ][ col ].m_neighborSegments )
 
  126             free( 
m_segments[ row ][ col ].m_neighborSegments );
 
unsigned int m_featuresNumber
The number of features for each created segment. 
 
Matrix< SegmenterRegionGrowingSegment::FeatureType > m_segmentsFeatures
Internal stored segment features. 
 
unsigned int m_getNextSegment_line
 
SegmenterSegmentsBlock::SegmentIdDataType m_segsNumber
The number of segments allocated segments. 
 
void clear()
Clear all stored segments. 
 
unsigned int SegmentIdDataType
 
SegmenterRegionGrowingSegmentsPool()
 
~SegmenterRegionGrowingSegmentsPool()
 
SegmenterRegionGrowingSegment * getNextSegment()
Retrive a stored segment. 
 
bool initialize(const SegmenterSegmentsBlock::SegmentIdDataType segsNumber, const unsigned int featuresNumber)
Pool initialization. 
 
void resetUseCounter()
Reset the segments use counter. 
 
SegmenterSegmentsBlock::SegmentIdDataType getSegmentsNumber() const 
Return the current allocated segments number. 
 
A generic template matrix. 
 
Matrix< SegmenterRegionGrowingSegment > m_segments
Internal stored segments. 
 
unsigned int m_getNextSegment_col
 
SegmenterSegmentsBlock::SegmentIdDataType m_nextUnusedSegmentIdx
The next unused segment index.