Segmenter.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file terralib/rp/Segmenter.h
22  \brief Raster segmentation.
23  */
24 
25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTER_H
26 #define __TERRALIB_RP_INTERNAL_SEGMENTER_H
27 
29 #include "SegmenterStrategy.h"
30 #include "SegmenterSegmentsBlock.h"
31 #include "SegmenterIdsManager.h"
32 #include "Algorithm.h"
33 #include "Matrix.h"
34 #include "Config.h"
35 #include "../raster/RasterSynchronizer.h"
36 #include "../common/progress/TaskProgress.h"
37 
38 #include <vector>
39 #include <string>
40 #include <map>
41 #include <memory>
42 
43 namespace te
44 {
45  namespace da
46  {
47  class DataSource;
48  }
49 
50  namespace rst
51  {
52  class Raster;
53  class Band;
54  }
55 
56  namespace rp
57  {
58  /*!
59  \class Segmenter
60  \brief Raster segmentation.
61  \details Raster segmentation following the choosed segmentation
62  strategy.
63  \note The created label image will be written to the raster instance
64  pointed by m_outRasterPtr (in this case the output band must also be
65  passed by m_outRasterBand ); or written to a new raster instance created
66  inside the given data source pointed by m_outDataSourcePtr (in this case
67  the data set name must be supplied - m_outDataSetName ).
68  \sa te::rp::Segmenter::Parameters For detailed parameters description.
69  \sa te::rp::SegmenterStrategy For detailed parameters description.
70 
71  \ingroup rp_seg
72  */
74  {
75  public:
76 
77  /*!
78  \class InputParameters
79  \brief Segmenter Input Parameters
80  */
82  {
83  public:
84 
85  te::rst::Raster const* m_inputRasterPtr; //!< Input raster.
86 
87  std::vector< unsigned int > m_inputRasterBands; //!< Bands to be processed from the input raster.
88 
89  std::vector< std::complex< double > > m_inputRasterNoDataValues; //!< A vector of values to be used as input raster no-data values or an empty vector indicating to use the default values from the input raster..
90 
91  bool m_enableThreadedProcessing; //!< If true, threaded processing will be performed (best with multi-core or multi-processor systems (default:true).
92 
93  unsigned int m_maxSegThreads; //!< The maximum number of concurrent segmenter threads (default:0 - automatically found).
94 
95  bool m_enableBlockProcessing; //!< If true, the original raster will be splitted into small blocks, each one will be segmented independently and the result will be merged (if possible) at the end (default:true).
96 
97  unsigned int m_maxBlockSize; //!< The input image will be split into blocks with this width for processing, this parameter tells the maximum block lateral size (width or height), the default: 0 - the size will be defined following the current system resources and physical processors number).
98 
99  unsigned char m_blocksOverlapPercent; //!< The percentage of blocks overlapped area (valid range:0-25, defaul:5).
100 
101  std::string m_strategyName; //!< The segmenter strategy name see each te::rp::SegmenterStrategyFactory inherited classes documentation for reference (default:RegionGrowingMean).
102 
103  bool m_enableProgress; //!< Enable/Disable the progress interface (default:false).
104 
105  bool m_enableRasterCache; //!< Enable/Disable the use of raster data cache (default:true).
106 
108 
110 
112 
113  /*!
114  \brief Set specific segmenter strategy parameters.
115  \param params The specific segmenter strategy parameters.
116  */
118  const SegmenterStrategyParameters& segStratParams );
119 
120  /*!
121  \brief Returns a pointer to the internal specific segmenter strategy parameters.
122  \return A pointer to the internal specific segmenter strategy parameters, or
123  null if no parameters are present.
124  */
126 
127  //overload
128  void reset() throw( te::rp::Exception );
129 
130  //overload
131  const Segmenter::InputParameters& operator=( const Segmenter::InputParameters& params );
132 
133  //overload
134  AbstractParameters* clone() const;
135 
136  protected :
137 
138  /*!
139  \brief A pointer to the internal specific segmenter strategy parameters or
140  NULL if no parameters are present.
141  */
142  std::unique_ptr< SegmenterStrategyParameters > m_segStratParamsPtr;
143  };
144 
145  /*!
146  \class OutputParameters
147  \brief Segmenter Output Parameters
148  */
150  {
151  public:
152 
153  std::string m_rType; //!< Output raster data source type (as described in te::raster::RasterFactory ).
154 
155  std::map< std::string, std::string > m_rInfo; //!< The necessary information to create the raster (as described in te::raster::RasterFactory).
156 
157  std::unique_ptr< te::rst::Raster > m_outputRasterPtr; //!< A pointer the ge generated output raster (label image).
158 
160 
162 
164 
165  //overload
166  void reset() throw( te::rp::Exception );
167 
168  //overload
169  const Segmenter::OutputParameters& operator=( const Segmenter::OutputParameters& params );
170 
171  //overload
172  AbstractParameters* clone() const;
173  };
174 
176 
178 
179  //overload
180  bool execute( AlgorithmOutputParameters& outputParams ) throw( te::rp::Exception );
181 
182  //overload
183  void reset() throw( te::rp::Exception );
184 
185  //overload
186  bool initialize( const AlgorithmInputParameters& inputParams )
187  throw( te::rp::Exception );
188 
189  bool isInitialized() const;
190 
191  protected :
192 
193  /*! Segments blocks matrix type definition */
195 
196  /*!
197  \brief The parameters passed to the Segmenter::segmenterthreadEntry method.
198  */
200  {
201  public :
202  //! The global segmenter input execution parameters.
204 
205  //! A pointer to the global segmenter input execution parameters (default:0).
207 
208  //! Pointer to the segments blocks matrix (default:0).
210 
211  //! Pointer to a general global mutex (default:0).
212  boost::mutex* m_generalMutexPtr;
213 
214  //! Pointer to the input raster synchronizer (default:0).
216 
217  //! Pointer to the output raster synchronizer (default:0).
219 
220  //! Pointer to the mutex used by the block processed signal (default:0).
222 
223  //! Pointer to the abort segmentation flag (default:0).
225 
226  //! Pointer to the segments Ids manager - (default 0).
228 
229  //! Pointer to a signal to be emited when a segments block was processed (default:0).
230  boost::condition_variable* m_blockProcessedSignalPtr;
231 
232  //! Pointer to the running threads counter - default 0).
233  unsigned int volatile* m_runningThreadsCounterPtr;
234 
235  //! A vector of input raster bands minimum values.
236  std::vector< std::complex< double > > m_inputRasterBandMinValues;
237 
238  //! A vector of input raster bands maximum values.
239  std::vector< std::complex< double > > m_inputRasterBandMaxValues;
240 
241  //! A vector of values to be used as input raster no-data values.
242  std::vector< std::complex< double > > m_inputRasterNoDataValues;
243 
244  //! Enable/Disable the segmentation strategy to use its own progress interface (default:false).
246 
247  //! The maximum number of input raster cached blocks per-thread.
249 
250  //! A pointer to a string where the thread error message will be stored.
252 
254 
256  };
257 
258  bool m_instanceInitialized; //"< Is this instance already initialized ?
259 
260  Segmenter::InputParameters m_inputParameters; //!< Segmenter execution parameters.
261 
262  /*!
263  \brief Calc the best sub-image block size for each thread to
264  process.
265  \param minBlockPixels The minimun allowed pixels number for each block (expanded block).
266  \param maxBlockPixels The maximum allowed pixels number for each block (expanded block).
267  \param blocksHOverlapSize The blocks horizontal overlap size (number of columns).
268  \param blocksVOverlapSize The blocks vertical overlap size (number of rows).
269  \param nonExpandedBlockWidth The calculated non-expanded block width (non-expanded block).
270  \param nonExpandedBlockHeight The calculated non-expanded block height (non-expanded block).
271  \param expandedBlockWidth The calculated expanded block width (non-expanded block).
272  \param expandedBlockHeight The calculated expanded block height (non-expanded block).
273  \return true if OK, false on errors.
274  */
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;
284 
285  /*!
286  \brief Segmenter thread entry.
287  \param paramsPtr A pointer to the segmenter thread parameters.
288  */
290 
291  /*!
292  \brief Generate the horizontal cutOff prifles for the entire image..
293  \param profileCenter The profile center line.
294  \param inRaster The input raster.
295  \param inRasterBands The input raster bands.
296  \param pixelNeighborhoodSize The pixel neighborhood size over the line transverse to each tile line.
297  \param tileNeighborhoodSize The buffer size around each tile.
298  \param profileAntiSmoothingFactor A positive profile anti-smoothing factor.
299  \param profile The generated profile (each element is a inRaster line index ).
300  \return true if OK, false on errors.
301  */
302  bool genImageHCutOffProfile( const unsigned int profileCenter,
303  const te::rst::Raster& inRaster,
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;
309 
310  /*!
311  \brief Generate the vertical cutOff prifles for the entire image..
312  \param profileCenter The profile center column.
313  \param inRaster The input raster.
314  \param inRasterBands The input raster bands.
315  \param pixelNeighborhoodSize The pixel neighborhood size over the line transverse to each tile line.
316  \param tileNeighborhoodSize The buffer size around each tile.
317  \param profileAntiSmoothingFactor A positive profile anti-smoothing factor.
318  \param profile The generated profile (each element is a inRaster column index )
319  \return true if OK, false on errors.
320  */
321  bool genImageVCutOffProfile( const unsigned int profileCenter,
322  const te::rst::Raster& inRaster,
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;
328 
329  /*!
330  \brief Update the block cutOff profiles using the full image profiles.
331  \param imageVerticalProfiles The generated horizontal profiles (empty profiles also will be accepted).
332  \param horizontalProfiles The generated vertical profiles (empty profiles also will be accepted).
333  \param segmentsBlock The block to update.
334  \return true if OK, false on errors.
335  */
337  const std::vector< std::vector< unsigned int> >& imageHorizontalProfiles,
338  const std::vector< std::vector< unsigned int> >& imageVerticalProfiles,
339  SegmenterSegmentsBlock& segmentsBlock ) const;
340 
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 );
347  };
348 
349  } // end namespace rp
350 } // end namespace te
351 
352 #endif
353 
te::rp::Segmenter::InputParameters::m_inputRasterNoDataValues
std::vector< std::complex< double > > m_inputRasterNoDataValues
A vector of values to be used as input raster no-data values or an empty vector indicating to use the...
Definition: Segmenter.h:89
te::rp::Segmenter::InputParameters
Segmenter Input Parameters.
Definition: Segmenter.h:82
te::rp::Segmenter::InputParameters::m_enableProgress
bool m_enableProgress
Enable/Disable the progress interface (default:false).
Definition: Segmenter.h:103
te::rp::Segmenter::OutputParameters::OutputParameters
OutputParameters(const OutputParameters &other)
te::rp::Matrix
A generic template matrix.
Definition: Matrix.h:55
te
TerraLib.
Definition: AddressGeocodingOp.h:52
te::rp::Segmenter::SegmenterThreadEntryParams::m_segsBlocksMatrixPtr
SegmentsBlocksMatrixT * m_segsBlocksMatrixPtr
Pointer to the segments blocks matrix (default:0).
Definition: Segmenter.h:209
te::rp::AlgorithmOutputParameters
Raster Processing algorithm output parameters base interface.
Definition: AlgorithmOutputParameters.h:40
te::rp::Segmenter::updateBlockCutOffProfiles
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.
te::rp::Segmenter::segmenterThreadEntry
static void segmenterThreadEntry(SegmenterThreadEntryParams *paramsPtr)
Segmenter thread entry.
te::rp::Segmenter::SegmenterThreadEntryParams::m_outputRasterSyncPtr
te::rst::RasterSynchronizer * m_outputRasterSyncPtr
Pointer to the output raster synchronizer (default:0).
Definition: Segmenter.h:218
te::rp::Segmenter::InputParameters::setSegStrategyParams
void setSegStrategyParams(const SegmenterStrategyParameters &segStratParams)
Set specific segmenter strategy parameters.
SegmenterSegmentsBlock.h
Segments block.
te::rp::Segmenter::InputParameters::getSegStrategyParams
SegmenterStrategyParameters const * getSegStrategyParams() const
Returns a pointer to the internal specific segmenter strategy parameters.
te::rp::Segmenter::InputParameters::InputParameters
InputParameters(const InputParameters &other)
te::rp::Segmenter::SegmenterThreadEntryParams::m_threadErrorMessagePtr
std::string * m_threadErrorMessagePtr
A pointer to a string where the thread error message will be stored.
Definition: Segmenter.h:251
te::rp::Segmenter::InputParameters::m_enableRasterCache
bool m_enableRasterCache
Enable/Disable the use of raster data cache (default:true).
Definition: Segmenter.h:105
te::rst::Raster
An abstract class for raster data strucutures.
Definition: Raster.h:72
te::rp::Segmenter::SegmenterThreadEntryParams::~SegmenterThreadEntryParams
~SegmenterThreadEntryParams()
te::rp::AlgorithmInputParameters
Raster Processing algorithm input parameters base interface.
Definition: AlgorithmInputParameters.h:40
te::rp::Segmenter
Raster segmentation.
Definition: Segmenter.h:74
te::rp::Segmenter::InputParameters::m_maxSegThreads
unsigned int m_maxSegThreads
The maximum number of concurrent segmenter threads (default:0 - automatically found).
Definition: Segmenter.h:93
te::rst::RasterSynchronizer
An access synchronizer to be used in SynchronizedRaster raster instances.
Definition: RasterSynchronizer.h:55
Matrix.h
Generic template matrix.
te::rp::Segmenter::genImageVCutOffProfile
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..
te::rp::SegmenterStrategyParameters
Segmenter Strategy Parameters.
Definition: SegmenterStrategyParameters.h:40
SegmenterIdsManager.h
Segments IDs manager.
te::rp::Segmenter::OutputParameters::~OutputParameters
~OutputParameters()
te::rp::Segmenter::SegmenterThreadEntryParams::m_inputRasterSyncPtr
te::rst::RasterSynchronizer * m_inputRasterSyncPtr
Pointer to the input raster synchronizer (default:0).
Definition: Segmenter.h:215
te::rp::Segmenter::OutputParameters::reset
void reset()
Clear all internal allocated resources and reset the parameters instance to its initial state.
te::rp::Segmenter::OutputParameters::m_rType
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
Definition: Segmenter.h:153
te::rp::Segmenter::m_instanceInitialized
bool m_instanceInitialized
Definition: Segmenter.h:258
te::rp::Segmenter::createCutOffLinesTiff
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)
te::rp::Segmenter::OutputParameters
Segmenter Output Parameters.
Definition: Segmenter.h:150
te::rp::Algorithm
Raster Processing algorithm base interface.
Definition: Algorithm.h:42
te::rp::Segmenter::SegmenterThreadEntryParams::m_segmentsIdsManagerPtr
SegmenterIdsManager * m_segmentsIdsManagerPtr
Pointer to the segments Ids manager - (default 0).
Definition: Segmenter.h:227
te::rp::Segmenter::InputParameters::~InputParameters
~InputParameters()
te::rp::Segmenter::InputParameters::m_inputRasterBands
std::vector< unsigned int > m_inputRasterBands
Bands to be processed from the input raster.
Definition: Segmenter.h:87
te::rp::Segmenter::genImageHCutOffProfile
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..
te::rp::Segmenter::SegmenterThreadEntryParams::m_abortSegmentationFlagPtr
bool volatile * m_abortSegmentationFlagPtr
Pointer to the abort segmentation flag (default:0).
Definition: Segmenter.h:224
te::rp::Segmenter::InputParameters::m_blocksOverlapPercent
unsigned char m_blocksOverlapPercent
The percentage of blocks overlapped area (valid range:0-25, defaul:5).
Definition: Segmenter.h:99
te::rp::Segmenter::SegmenterThreadEntryParams::m_inputRasterBandMinValues
std::vector< std::complex< double > > m_inputRasterBandMinValues
A vector of input raster bands minimum values.
Definition: Segmenter.h:236
SegmenterStrategyParameters.h
Raster segmenter strategy parameters base class.
te::rp::Segmenter::SegmenterThreadEntryParams
The parameters passed to the Segmenter::segmenterthreadEntry method.
Definition: Segmenter.h:200
te::rp::Segmenter::SegmenterThreadEntryParams::m_inputParameters
Segmenter::InputParameters m_inputParameters
The global segmenter input execution parameters.
Definition: Segmenter.h:203
te::rp::Segmenter::InputParameters::m_enableThreadedProcessing
bool m_enableThreadedProcessing
If true, threaded processing will be performed (best with multi-core or multi-processor systems (defa...
Definition: Segmenter.h:91
te::rp::Segmenter::SegmenterThreadEntryParams::m_blockProcessedSignalPtr
boost::condition_variable * m_blockProcessedSignalPtr
Pointer to a signal to be emited when a segments block was processed (default:0).
Definition: Segmenter.h:230
te::rp::Segmenter::OutputParameters::OutputParameters
OutputParameters()
te::rp::Segmenter::SegmenterThreadEntryParams::m_inputRasterBandMaxValues
std::vector< std::complex< double > > m_inputRasterBandMaxValues
A vector of input raster bands maximum values.
Definition: Segmenter.h:239
te::rp::Segmenter::InputParameters::m_enableBlockProcessing
bool m_enableBlockProcessing
If true, the original raster will be splitted into small blocks, each one will be segmented independe...
Definition: Segmenter.h:95
te::Exception
Base exception class for plugin module.
Definition: Exception.h:42
te::rp::Segmenter::SegmenterThreadEntryParams::SegmenterThreadEntryParams
SegmenterThreadEntryParams()
te::rp::Segmenter::m_inputParameters
Segmenter::InputParameters m_inputParameters
Segmenter execution parameters.
Definition: Segmenter.h:260
te::rp::Segmenter::SegmenterThreadEntryParams::m_inputRasterNoDataValues
std::vector< std::complex< double > > m_inputRasterNoDataValues
A vector of values to be used as input raster no-data values.
Definition: Segmenter.h:242
te::rp::Segmenter::InputParameters::m_strategyName
std::string m_strategyName
The segmenter strategy name see each te::rp::SegmenterStrategyFactory inherited classes documentation...
Definition: Segmenter.h:101
TERPEXPORT
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:139
te::rp::Segmenter::SegmenterThreadEntryParams::m_runningThreadsCounterPtr
unsigned int volatile * m_runningThreadsCounterPtr
Pointer to the running threads counter - default 0).
Definition: Segmenter.h:233
te::rp::Segmenter::InputParameters::reset
void reset()
Clear all internal allocated resources and reset the parameters instance to its initial state.
te::rp::Segmenter::SegmenterThreadEntryParams::m_outputParametersPtr
Segmenter::OutputParameters * m_outputParametersPtr
A pointer to the global segmenter input execution parameters (default:0).
Definition: Segmenter.h:206
te::rp::Segmenter::InputParameters::InputParameters
InputParameters()
te::rp::Segmenter::calcBestBlockSize
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.
te::rp::Segmenter::SegmenterThreadEntryParams::m_generalMutexPtr
boost::mutex * m_generalMutexPtr
Pointer to a general global mutex (default:0).
Definition: Segmenter.h:212
Algorithm.h
Abstract algorithm.
te::rp::Segmenter::SegmenterThreadEntryParams::m_enableStrategyProgress
bool m_enableStrategyProgress
Enable/Disable the segmentation strategy to use its own progress interface (default:false).
Definition: Segmenter.h:245
te::rp::Segmenter::InputParameters::m_maxBlockSize
unsigned int m_maxBlockSize
The input image will be split into blocks with this width for processing, this parameter tells the ma...
Definition: Segmenter.h:97
Config.h
Proxy configuration file for TerraView (see terraview_config.h).
te::rp::Segmenter::OutputParameters::m_rInfo
std::map< std::string, std::string > m_rInfo
The necessary information to create the raster (as described in te::raster::RasterFactory).
Definition: Segmenter.h:155
SegmenterStrategy.h
Raster segmenter strategy base class.
te::rp::Segmenter::SegmenterThreadEntryParams::m_maxInputRasterCachedBlocks
unsigned int m_maxInputRasterCachedBlocks
The maximum number of input raster cached blocks per-thread.
Definition: Segmenter.h:248
te::rp::Segmenter::InputParameters::m_inputRasterPtr
te::rst::Raster const * m_inputRasterPtr
Input raster.
Definition: Segmenter.h:85
te::rp::SegmenterIdsManager
Segmenter segments IDs manager.
Definition: SegmenterIdsManager.h:45
te::rp::SegmenterSegmentsBlock
Segmenter segments block description class.
Definition: SegmenterSegmentsBlock.h:42
te::rp::Segmenter::OutputParameters::m_outputRasterPtr
std::unique_ptr< te::rst::Raster > m_outputRasterPtr
A pointer the ge generated output raster (label image).
Definition: Segmenter.h:157
te::rp::Segmenter::SegmenterThreadEntryParams::m_blockProcessedSignalMutexPtr
boost::mutex * m_blockProcessedSignalMutexPtr
Pointer to the mutex used by the block processed signal (default:0).
Definition: Segmenter.h:221