OTB  9.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
grmSegmenter.h
grm::BaatzSegmenter::EdgeType
Superclass::EdgeType EdgeType
Definition: grmBaatzSegmenter.h:49
grm::GraphToOtbImage
Definition: grmGraphToOtbImage.h:35
grm
Definition: grmBaatzSegmenter.h:22
grm::BaatzNode::m_SpectralSum
std::vector< float > m_SpectralSum
Definition: grmBaatzSegmenter.h:28
grm::BaatzNode
Definition: grmBaatzSegmenter.h:24
grm::BaatzSegmenter::GraphType
Superclass::GraphType GraphType
Definition: grmBaatzSegmenter.h:47
grm::BaatzSegmenter::UpdateSpecificAttributes
void UpdateSpecificAttributes(NodePointerType n1, NodePointerType n2)
grm::Segmenter
Definition: grmSegmenter.h:27
grm::BaatzSegmenter::ParameterType
BaatzParam ParameterType
Definition: grmBaatzSegmenter.h:46
grm::Segmenter< TImage, BaatzNode, BaatzParam >::EdgeType
GraphType::EdgeType EdgeType
Definition: grmSegmenter.h:38
grm::BaatzParam
Definition: grmBaatzSegmenter.h:32
grm::BaatzSegmenter::Superclass
Segmenter< TImage, BaatzNode, BaatzParam > Superclass
Definition: grmBaatzSegmenter.h:44
grm::Segmenter< TImage, BaatzNode, BaatzParam >::NodePointerType
GraphOperatorType::NodePointerType NodePointerType
Definition: grmSegmenter.h:40
grm::BaatzParam::m_ShapeWeight
float m_ShapeWeight
Definition: grmBaatzSegmenter.h:35
grm::BaatzParam::m_SpectralWeight
float m_SpectralWeight
Definition: grmBaatzSegmenter.h:34
grm::BaatzSegmenter::ImageType
TImage ImageType
Definition: grmBaatzSegmenter.h:45
grm::BaatzSegmenter::IOType
GraphToOtbImage< GraphType > IOType
Definition: grmBaatzSegmenter.h:52
grm::BaatzSegmenter::GraphOperatorType
Superclass::GraphOperatorType GraphOperatorType
Definition: grmBaatzSegmenter.h:51
grm::Node
Definition: grmGraph.h:83
grm::BaatzNode::m_Means
std::vector< float > m_Means
Definition: grmBaatzSegmenter.h:26
grm::BaatzSegmenter::InitFromImage
void InitFromImage()
grm::Graph< NodeType >
grm::BaatzNode::m_Std
std::vector< float > m_Std
Definition: grmBaatzSegmenter.h:29
grm::BaatzNode::m_SquareMeans
std::vector< float > m_SquareMeans
Definition: grmBaatzSegmenter.h:27
grm::GraphOperations
Definition: grmGraphOperations.h:34
grm::BaatzSegmenter::NodeType
BaatzNode NodeType
Definition: grmBaatzSegmenter.h:48
grm::BaatzSegmenter::NodePointerType
Superclass::NodePointerType NodePointerType
Definition: grmBaatzSegmenter.h:50
grm::BaatzSegmenter
Definition: grmBaatzSegmenter.h:39
grm::BaatzSegmenter::ComputeMergingCost
float ComputeMergingCost(NodePointerType n1, NodePointerType n2)