25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTER_H
26 #define __TERRALIB_RP_INTERNAL_SEGMENTER_H
35 #include "../raster/RasterSynchronizer.h"
36 #include "../common/progress/TaskProgress.h"
117 void setSegStrategyParams(
134 AbstractParameters* clone() const;
166 void reset() throw(
te::rp::Exception );
172 AbstractParameters* clone() const;
180 bool execute( AlgorithmOutputParameters& outputParams ) throw(
te::rp::Exception );
183 void reset() throw(
te::rp::Exception );
187 throw(
te::rp::Exception );
189 bool isInitialized() const;
250 SegmenterThreadEntryParams();
252 ~SegmenterThreadEntryParams();
272 bool calcBestBlockSize(
273 const unsigned int minExapandedBlockPixels,
274 const unsigned int maxExapandedBlockPixels,
275 unsigned int& blocksHOverlapSize,
276 unsigned int& blocksVOverlapSize,
277 unsigned int& nonExpandedBlockWidth,
278 unsigned int& nonExpandedBlockHeight,
279 unsigned int& expandedBlockWidth,
280 unsigned int& expandedBlockHeight )
const;
299 bool genImageHCutOffProfile(
const unsigned int profileCenter,
301 const std::vector< unsigned int >& inRasterBands,
302 const unsigned int pixelNeighborhoodSize,
303 const unsigned int tileNeighborhoodSize,
304 const unsigned int profileAntiSmoothingFactor,
305 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 );
bool m_instanceInitialized
Segmenter segments IDs manager.
std::vector< std::complex< double > > m_inputRasterNoDataValues
A vector of values to be used as input raster no-data values.
Segmenter Output Parameters.
SegmenterIdsManager * m_segmentsIdsManagerPtr
Pointer to the segments Ids manager - (default 0).
Base exception class for plugin module.
boost::mutex * m_blockProcessedSignalMutexPtr
Pointer to the mutex used by the block processed signal (default:0).
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.
An access synchronizer to be used in SynchronizedRaster raster instances.
Raster Processing algorithm base interface class.
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.
te::rst::RasterSynchronizer * m_inputRasterSyncPtr
Pointer to the input raster synchronizer (default:0).
Segmenter::OutputParameters * m_outputParametersPtr
A pointer to the global segmenter input execution parameters (default:0).
unsigned int m_maxInputRasterCachedBlocks
The maximum number of input raster cached blocks per-thread.
std::vector< std::complex< double > > m_inputRasterBandMaxValues
A vector of input raster bands maximum values.
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.
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).
te::rst::RasterSynchronizer * m_outputRasterSyncPtr
Pointer to the output raster synchronizer (default:0).
unsigned int volatile * m_runningThreadsCounterPtr
Pointer to the running threads counter - default 0).
std::vector< std::complex< double > > m_inputRasterBandMinValues
A vector of input raster bands minimum values.
Segmenter::InputParameters m_inputParameters
The global segmenter input execution parameters.