25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTER_H
26 #define __TERRALIB_RP_INTERNAL_SEGMENTER_H
35 #include "../common/progress/TaskProgress.h"
112 void setSegStrategyParams(
123 void reset() throw( te::rp::Exception );
129 AbstractParameters* clone() const;
161 void reset() throw( te::rp::Exception );
167 AbstractParameters* clone() const;
175 bool execute( AlgorithmOutputParameters& outputParams ) throw( te::rp::Exception );
178 void reset() throw( te::rp::Exception );
182 throw( te::rp::Exception );
184 bool isInitialized() const;
242 SegmenterThreadEntryParams();
244 ~SegmenterThreadEntryParams();
266 bool calcBestBlockSize(
267 const unsigned int totalImageLines,
268 const unsigned int totalImageCols,
269 const unsigned int minBlockPixels,
270 const unsigned int maxBlockPixels,
271 const double blocksHOverlapSizePercent,
272 const double blocksVOverlapSizePectent,
273 unsigned int& blockWidth,
274 unsigned int& blockHeight,
275 unsigned int& blocksHOverlapSize,
276 unsigned int& blocksVOverlapSize )
const;
297 bool genImageHCutOffProfile(
const unsigned int profileCenter,
299 const std::vector< unsigned int >& inRasterBands,
300 const unsigned int pixelNeighborhoodSize,
301 const unsigned int tileNeighborhoodSize,
302 const unsigned int profileAntiSmoothingFactor,
303 std::vector< unsigned int>& profile )
const;
318 bool genImageVCutOffProfile(
const unsigned int profileCenter,
320 const std::vector< unsigned int >& inRasterBands,
321 const unsigned int pixelNeighborhoodSize,
322 const unsigned int tileNeighborhoodSize,
323 const unsigned int profileAntiSmoothingFactor,
324 std::vector< unsigned int>& profile )
const;
333 bool updateBlockCutOffProfiles(
334 const std::vector< std::vector< unsigned int> >& imageHorizontalProfiles,
335 const std::vector< std::vector< unsigned int> >& imageVerticalProfiles,
338 bool createCutOffLinesTiff(
339 const std::vector< std::vector< unsigned int> >& imageHorizontalProfiles,
340 const std::vector< unsigned int >& imageHorizontalProfilesCenterLines,
341 const std::vector< std::vector< unsigned int> >& imageVerticalProfiles,
342 const std::vector< unsigned int >& imageVerticalProfilesCenterLines,
343 const std::string& filename );
std::auto_ptr< te::rst::Raster > m_outputRasterPtr
A pointer the ge generated output raster (label image).
bool m_enableProgress
Enable/Disable the progress interface (default:false).
std::string m_strategyName
The segmenter strategy name see each te::rp::SegmenterStrategyFactory inherited classes documentation...
Raster segmenter strategy parameters base class.
bool volatile * m_abortSegmentationFlagPtr
Pointer to the abort segmentation flag (default:0)*/.
std::map< std::string, std::string > m_rInfo
The necessary information to create the raster (as described in te::raster::RasterFactory).
Raster Processing algorithm base interface class.
Segmenter segments block description class.
Segmenter Input Parameters.
boost::mutex * m_outputRasterIOMutexPtr
Pointer to the mutex used when accessing the output raster (default:0)*/.
bool m_enableBlockMerging
If true, a block merging procedure will be performed (default:true).
The parameters passed to the Segmenter::segmenterthreadEntry method.
te::rst::Raster const * m_inputRasterPtr
Input raster.
Segmenter Output Parameters.
unsigned int m_maxSegThreads
The maximum number of concurrent segmenter threads (default:0 - automatically found).
std::vector< double > const * m_inputRasterGainsPtr
Pointer to a vector of input raster bands gain values */.
Raster Processing algorithm base interface.
bool m_enableBlockProcessing
If true, the original raster will be splitted into small blocks, each one will be segmented independe...
Segmenter::InputParameters m_inputParameters
Segmenter execution parameters.
std::vector< double > const * m_inputRasterOffsetsPtr
Pointer to a vector of input raster bands offset values */.
bool m_enableThreadedProcessing
If true, threaded processing will be performed (best with multi-core or multi-processor systems (defa...
Segmenter segments IDs manager.
SegmenterIdsManager * m_segmentsIdsManagerPtr
Pointer to the segments Ids manager - (default 0) */.
bool m_enableStrategyProgress
Enable/Disable the segmentation strategy to use its own progress interface (default:false). */.
Segmenter::OutputParameters * m_outputParametersPtr
A pointer to the global segmenter input execution parameters (default:0). */.
Segmenter Strategy Parameters.
unsigned int volatile * m_runningThreadsCounterPtr
Pointer to the running threads counter - default 0) */.
boost::mutex * m_inputRasterIOMutexPtr
Pointer to the mutex used when accessing the input raster (default:0)*/.
SegmentsBlocksMatrixT * m_segsBlocksMatrixPtr
Pointer to the segments blocks matrix (default:0)*/.
boost::mutex * m_generalMutexPtr
Pointer to a general global mutex (default:0)*/.
Raster segmenter strategy base class.
Configuration flags for the Raster Processing module of TerraLib.
A generic template matrix.
std::vector< unsigned int > m_inputRasterBands
Bands to be processed from the input raster.
Segmenter::InputParameters const * m_inputParametersPtr
A pointer to the global segmenter input execution parameters (default:0). */.
Raster Processing algorithm output parameters base interface.
boost::mutex * m_blockProcessedSignalMutexPtr
Pointer to the mutex used by the block processed signal (default:0)*/.
bool m_instanceInitialized
An abstract class for raster data strucutures.
te::common::TaskProgress * m_progressPtr
A pointer to an active task progress tha should be pulsed for each processed block or a null pointer ...
This class can be used to inform the progress of a task.
unsigned int m_maxBlockSize
The input image will be split into blocks with this width for processing, this parameter tells the ma...
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
boost::condition_variable * m_blockProcessedSignalPtr
Pointer to a signal to be emited when a segments block was processed (default:0)*/.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Raster Processing algorithm input parameters base interface.