25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTER_H
26 #define __TERRALIB_RP_INTERNAL_SEGMENTER_H
35 #include "../common/progress/TaskProgress.h"
114 void setSegStrategyParams(
125 void reset() throw( te::rp::Exception );
131 AbstractParameters* clone() const;
163 void reset() throw( te::rp::Exception );
169 AbstractParameters* clone() const;
177 bool execute( AlgorithmOutputParameters& outputParams ) throw( te::rp::Exception );
180 void reset() throw( te::rp::Exception );
184 throw( te::rp::Exception );
186 bool isInitialized() const;
244 SegmenterThreadEntryParams();
246 ~SegmenterThreadEntryParams();
266 bool calcBestBlockSize(
267 const unsigned int totalImageLines,
268 const unsigned int totalImageCols,
269 const unsigned int minExapandedBlockPixels,
270 const unsigned int maxExapandedBlockPixels,
271 const unsigned int blocksHOverlapSize,
272 const unsigned int blocksVOverlapSize,
273 unsigned int& nonExpandedBlockWidth,
274 unsigned int& nonExpandedBlockHeight )
const;
295 bool genImageHCutOffProfile(
const unsigned int profileCenter,
297 const std::vector< unsigned int >& inRasterBands,
298 const unsigned int pixelNeighborhoodSize,
299 const unsigned int tileNeighborhoodSize,
300 const unsigned int profileAntiSmoothingFactor,
301 std::vector< unsigned int>& profile )
const;
316 bool genImageVCutOffProfile(
const unsigned int profileCenter,
318 const std::vector< unsigned int >& inRasterBands,
319 const unsigned int pixelNeighborhoodSize,
320 const unsigned int tileNeighborhoodSize,
321 const unsigned int profileAntiSmoothingFactor,
322 std::vector< unsigned int>& profile )
const;
331 bool updateBlockCutOffProfiles(
332 const std::vector< std::vector< unsigned int> >& imageHorizontalProfiles,
333 const std::vector< std::vector< unsigned int> >& imageVerticalProfiles,
336 bool createCutOffLinesTiff(
337 const std::vector< std::vector< unsigned int> >& imageHorizontalProfiles,
338 const std::vector< unsigned int >& imageHorizontalProfilesCenterLines,
339 const std::vector< std::vector< unsigned int> >& imageVerticalProfiles,
340 const std::vector< unsigned int >& imageVerticalProfilesCenterLines,
341 const std::string& filename );
bool m_instanceInitialized
Segmenter segments IDs manager.
Segmenter Output Parameters.
SegmenterIdsManager * m_segmentsIdsManagerPtr
Pointer to the segments Ids manager - (default 0) */.
std::vector< double > const * m_inputRasterGainsPtr
Pointer to a vector of input raster bands gain values */.
boost::mutex * m_outputRasterIOMutexPtr
Pointer to the mutex used when accessing the output raster (default:0)*/.
boost::mutex * m_blockProcessedSignalMutexPtr
Pointer to the mutex used by the block processed signal (default:0)*/.
This class can be used to inform the progress of a task.
Raster Processing algorithm output parameters base interface.
std::auto_ptr< te::rst::Raster > m_outputRasterPtr
A pointer the ge generated output raster (label image).
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
The parameters passed to the Segmenter::segmenterthreadEntry method.
std::vector< double > const * m_inputRasterOffsetsPtr
Pointer to a vector of input raster bands offset values */.
bool volatile * m_abortSegmentationFlagPtr
Pointer to the abort segmentation flag (default:0)*/.
Segmenter Strategy Parameters.
Raster Processing algorithm base interface.
Segmenter::InputParameters m_inputParameters
Segmenter execution parameters.
An abstract class for raster data strucutures.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Raster Processing algorithm base interface class.
Segmenter::OutputParameters * m_outputParametersPtr
A pointer to the global segmenter input execution parameters (default:0). */.
Raster segmenter strategy base class.
std::map< std::string, std::string > m_rInfo
The necessary information to create the raster (as described in te::raster::RasterFactory).
Configuration flags for the Raster Processing module of TerraLib.
boost::mutex * m_inputRasterIOMutexPtr
Pointer to the mutex used when accessing the input raster (default:0)*/.
bool m_enableStrategyProgress
Enable/Disable the segmentation strategy to use its own progress interface (default:false). */.
Raster segmenter strategy parameters base class.
A generic template matrix.
SegmentsBlocksMatrixT * m_segsBlocksMatrixPtr
Pointer to the segments blocks matrix (default:0)*/.
Segmenter segments block description class.
boost::condition_variable * m_blockProcessedSignalPtr
Pointer to a signal to be emited when a segments block was processed (default:0)*/.
boost::mutex * m_generalMutexPtr
Pointer to a general global mutex (default:0)*/.
Segmenter::InputParameters const * m_inputParametersPtr
A pointer to the global segmenter input execution parameters (default:0). */.
unsigned int volatile * m_runningThreadsCounterPtr
Pointer to the running threads counter - default 0) */.
te::common::TaskProgress * m_progressPtr
A pointer to an active task progress tha should be pulsed for each processed block or a null pointer ...