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.