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.