SegmenterRegionGrowingMeanMerger.h
Go to the documentation of this file.
1 /* Copyright (C) 2015 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/SegmenterRegionGrowingMeanMerger.h
22  \brief Segmenter mean merger used in region growing process.
23 */
24 
25 #ifndef __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGMEANMERGER_H
26 #define __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGMEANMERGER_H
27 
30 
31 namespace te
32 {
33  namespace rp
34  {
35  /*!
36  \class SegmenterRegionGrowingMeanMerger
37  \brief Mean based Segments merger
38  */
40  public SegmenterRegionGrowingMerger< rg::MeanFeatureType >
41  {
42  public:
43 
44  SegmenterRegionGrowingMeanMerger( const unsigned int featuresNumber );
45 
47 
48  //overload
50  getDissimilarity( SegmenterRegionGrowingSegment< rg::MeanFeatureType > const * const segment1Ptr,
52  SegmenterRegionGrowingSegment< rg::MeanFeatureType > * const mergePreviewSegPtr ) const;
53 
54  //overload
55  void mergeFeatures( SegmenterRegionGrowingSegment< rg::MeanFeatureType > * const segment1Ptr,
57  SegmenterRegionGrowingSegment< rg::MeanFeatureType > const * const mergePreviewSegPtr ) const;
58 
59  //overload
61 
62  //overload
63  inline unsigned int getSegmentFeaturesSize() const { return m_featuresNumber; };
64 
65  protected :
66  unsigned int m_featuresNumber; //!< The number of features (bands).
68 
69  // variables used by the method getDissimilarity
72  mutable unsigned int m_getDissimilarity_meansIdx;
73  };
74  } // end namespace rp
75 } // end namespace te
76 
77 #endif // __TERRALIB_RP_INTERNAL_SEGMENTERREGIONGROWINGMEANMERGER_H
double DissimilarityTypeT
Type for dissimilarity.
Segmenter merger used in region growing process.
URI C++ Library.
Abstract class for the segments merger.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:139
SegmenterRegionGrowingSegment< rg::MeanFeatureType >::FeatureType m_getDissimilarity_dissValue
SegmenterRegionGrowingSegment< rg::MeanFeatureType >::FeatureType m_getDissimilarity_diffValue
void update(SegmenterRegionGrowingSegment< rg::MeanFeatureType > *const )
Update the internal state.
SegmenterRegionGrowingSegment< rg::MeanFeatureType >::FeatureType m_dissimilarityNormFactor