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.