OTB  10.0.0
Orfeo Toolbox
grmBaatzSegmenter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Generic Region Merging Library
4  Language: C++
5  author: Lassalle Pierre
6  contact: lassallepierre34@gmail.com
7 
8 
9 
10  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved
11 
12 
13  This software is distributed WITHOUT ANY WARRANTY; without even
14  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  PURPOSE. See the above copyright notices for more information.
16 
17 =========================================================================*/
18 #ifndef GRM_BAATZ_SEGMENTER_H
19 #define GRM_BAATZ_SEGMENTER_H
20 #include "grmSegmenter.h"
21 
22 namespace grm
23 {
24  struct BaatzNode : Node<BaatzNode>
25  {
26  std::vector<float> m_Means;
27  std::vector<float> m_SquareMeans;
28  std::vector<float> m_SpectralSum;
29  std::vector<float> m_Std;
30  };
31 
32  struct BaatzParam
33  {
36  };
37 
38  template<class TImage>
39  class BaatzSegmenter : public Segmenter< TImage, BaatzNode, BaatzParam>
40  {
41  public:
42 
43  /* Some convenient typedefs */
45  typedef TImage ImageType;
47  typedef typename Superclass::GraphType GraphType;
49  typedef typename Superclass::EdgeType EdgeType;
53 
56  void InitFromImage();
57  };
58 } // end of namespace grm
59 #include "grmBaatzSegmenter.txx"
60 #endif
Superclass::GraphOperatorType GraphOperatorType
void UpdateSpecificAttributes(NodePointerType n1, NodePointerType n2)
Superclass::NodePointerType NodePointerType
Superclass::EdgeType EdgeType
float ComputeMergingCost(NodePointerType n1, NodePointerType n2)
Segmenter< TImage, BaatzNode, BaatzParam > Superclass
Superclass::GraphType GraphType
GraphToOtbImage< GraphType > IOType
GraphOperatorType::NodePointerType NodePointerType
Definition: grmSegmenter.h:40
std::vector< float > m_SquareMeans
std::vector< float > m_SpectralSum
std::vector< float > m_Means
std::vector< float > m_Std