Go to the documentation of this file.
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"
134 AbstractParameters* clone() const;
172 AbstractParameters* clone() const;
189 bool isInitialized() const;
276 const unsigned int minExapandedBlockPixels,
277 const unsigned int maxExapandedBlockPixels,
278 unsigned int& blocksHOverlapSize,
279 unsigned int& blocksVOverlapSize,
280 unsigned int& nonExpandedBlockWidth,
281 unsigned int& nonExpandedBlockHeight,
282 unsigned int& expandedBlockWidth,
283 unsigned int& expandedBlockHeight )
const;
304 const std::vector< unsigned int >& inRasterBands,
305 const unsigned int pixelNeighborhoodSize,
306 const unsigned int tileNeighborhoodSize,
307 const unsigned int profileAntiSmoothingFactor,
308 std::vector< unsigned int>& profile )
const;
323 const std::vector< unsigned int >& inRasterBands,
324 const unsigned int pixelNeighborhoodSize,
325 const unsigned int tileNeighborhoodSize,
326 const unsigned int profileAntiSmoothingFactor,
327 std::vector< unsigned int>& profile )
const;
337 const std::vector< std::vector< unsigned int> >& imageHorizontalProfiles,
338 const std::vector< std::vector< unsigned int> >& imageVerticalProfiles,
342 const std::vector< std::vector< unsigned int> >& imageHorizontalProfiles,
343 const std::vector< unsigned int >& imageHorizontalProfilesCenterLines,
344 const std::vector< std::vector< unsigned int> >& imageVerticalProfiles,
345 const std::vector< unsigned int >& imageVerticalProfilesCenterLines,
346 const std::string& filename );
OutputParameters(const OutputParameters &other)
A generic template matrix.
SegmentsBlocksMatrixT * m_segsBlocksMatrixPtr
Pointer to the segments blocks matrix (default:0).
Raster Processing algorithm output parameters base interface.
bool updateBlockCutOffProfiles(const std::vector< std::vector< unsigned int > > &imageHorizontalProfiles, const std::vector< std::vector< unsigned int > > &imageVerticalProfiles, SegmenterSegmentsBlock &segmentsBlock) const
Update the block cutOff profiles using the full image profiles.
static void segmenterThreadEntry(SegmenterThreadEntryParams *paramsPtr)
Segmenter thread entry.
te::rst::RasterSynchronizer * m_outputRasterSyncPtr
Pointer to the output raster synchronizer (default:0).
std::string * m_threadErrorMessagePtr
A pointer to a string where the thread error message will be stored.
An abstract class for raster data strucutures.
~SegmenterThreadEntryParams()
An access synchronizer to be used in SynchronizedRaster raster instances.
bool genImageVCutOffProfile(const unsigned int profileCenter, const te::rst::Raster &inRaster, const std::vector< unsigned int > &inRasterBands, const unsigned int pixelNeighborhoodSize, const unsigned int tileNeighborhoodSize, const unsigned int profileAntiSmoothingFactor, std::vector< unsigned int > &profile) const
Generate the vertical cutOff prifles for the entire image..
Segmenter Strategy Parameters.
te::rst::RasterSynchronizer * m_inputRasterSyncPtr
Pointer to the input raster synchronizer (default:0).
void reset()
Clear all internal allocated resources and reset the parameters instance to its initial state.
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
bool m_instanceInitialized
bool createCutOffLinesTiff(const std::vector< std::vector< unsigned int > > &imageHorizontalProfiles, const std::vector< unsigned int > &imageHorizontalProfilesCenterLines, const std::vector< std::vector< unsigned int > > &imageVerticalProfiles, const std::vector< unsigned int > &imageVerticalProfilesCenterLines, const std::string &filename)
Segmenter Output Parameters.
Raster Processing algorithm base interface.
SegmenterIdsManager * m_segmentsIdsManagerPtr
Pointer to the segments Ids manager - (default 0).
bool genImageHCutOffProfile(const unsigned int profileCenter, const te::rst::Raster &inRaster, const std::vector< unsigned int > &inRasterBands, const unsigned int pixelNeighborhoodSize, const unsigned int tileNeighborhoodSize, const unsigned int profileAntiSmoothingFactor, std::vector< unsigned int > &profile) const
Generate the horizontal cutOff prifles for the entire image..
bool volatile * m_abortSegmentationFlagPtr
Pointer to the abort segmentation flag (default:0).
std::vector< std::complex< double > > m_inputRasterBandMinValues
A vector of input raster bands minimum values.
Raster segmenter strategy parameters base class.
The parameters passed to the Segmenter::segmenterthreadEntry method.
Segmenter::InputParameters m_inputParameters
The global segmenter input execution parameters.
boost::condition_variable * m_blockProcessedSignalPtr
Pointer to a signal to be emited when a segments block was processed (default:0).
std::vector< std::complex< double > > m_inputRasterBandMaxValues
A vector of input raster bands maximum values.
Base exception class for plugin module.
SegmenterThreadEntryParams()
Segmenter::InputParameters m_inputParameters
Segmenter execution parameters.
std::vector< std::complex< double > > m_inputRasterNoDataValues
A vector of values to be used as input raster no-data values.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
unsigned int volatile * m_runningThreadsCounterPtr
Pointer to the running threads counter - default 0).
Segmenter::OutputParameters * m_outputParametersPtr
A pointer to the global segmenter input execution parameters (default:0).
bool calcBestBlockSize(const unsigned int minExapandedBlockPixels, const unsigned int maxExapandedBlockPixels, unsigned int &blocksHOverlapSize, unsigned int &blocksVOverlapSize, unsigned int &nonExpandedBlockWidth, unsigned int &nonExpandedBlockHeight, unsigned int &expandedBlockWidth, unsigned int &expandedBlockHeight) const
Calc the best sub-image block size for each thread to process.
boost::mutex * m_generalMutexPtr
Pointer to a general global mutex (default:0).
bool m_enableStrategyProgress
Enable/Disable the segmentation strategy to use its own progress interface (default:false).
Proxy configuration file for TerraView (see terraview_config.h).
std::map< std::string, std::string > m_rInfo
The necessary information to create the raster (as described in te::raster::RasterFactory).
Raster segmenter strategy base class.
unsigned int m_maxInputRasterCachedBlocks
The maximum number of input raster cached blocks per-thread.
Segmenter segments IDs manager.
Segmenter segments block description class.
std::unique_ptr< te::rst::Raster > m_outputRasterPtr
A pointer the ge generated output raster (label image).
boost::mutex * m_blockProcessedSignalMutexPtr
Pointer to the mutex used by the block processed signal (default:0).