Texture.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/Texture.h
22 
23  \brief A structure to hold the set of GLCM metrics.
24 */
25 
26 #ifndef __TERRALIB_RP_INTERNAL_TEXTURE_H
27 #define __TERRALIB_RP_INTERNAL_TEXTURE_H
28 
29 // TerraLib
30 #include "Config.h"
31 
32 // Boost
33 #include <boost/numeric/ublas/matrix.hpp>
34 
35 namespace te
36 {
37  namespace rp
38  {
39  /*!
40  \struct Texture
41 
42  \brief A structure to hold the set of GLCM metrics.
43  */
45  {
46  public:
47 
48  /*! \brief Constructor. */
49  Texture();
50 
51  /*!
52  \brief Copy constructor.
53 
54  \param rhs The right-hand-side copy used to copy from.
55  */
56  Texture(const Texture& rhs);
57 
58  /*! \brief Destructor. */
59  ~Texture();
60 
61  /*!
62  \brief Assignment operator.
63 
64  \param rhs The right-hand-side copy used to copy from.
65 
66  \return A reference to this object.
67  */
68  Texture& operator=(const Texture& rhs);
69 
70  /*! \brief Clear the structure. */
71  void clear();
72 
73  public:
74 
75  double m_contrast; //!< GLCM metric Contrast (also called Sum of Squares Variance) $\sum_{i,j=0}^{N-1}P_{i,j}(i-j)^2$.
76  double m_dissimilarity; //!< GLCM metric Dissimilarity $\sum_{i,j=0}^{N-1}P_{i,j}|i-j|$.
77  double m_energy; //!< GLCM metric Energy (the square root of Angular Second Moment) $\sqrt{\sum_{i,j=0}^{N-1}P_{i,j}^2}$.
78  double m_entropy; //!< GLCM metric Entropy $\sum_{i,j=0}^{N-1}P_{i,j}(-\ln{P_{i,j}})$.
79  double m_homogeneity; //!< GLCM metric Homogeneity (also called Inverse Difference Moment) $\sum_{i,j=0}^{N-1}\frac{P_{i,j}}{1+(i-j)^2}$.
80  };
81 
82  } // end namespace rp
83 } // end namespace te
84 
85 #endif // __TERRALIB_RP_INTERNAL_TEXTURE_H
double m_energy
GLCM metric Energy (the square root of Angular Second Moment) ${{i,j=0}^{N-1}P_{i,j}^2}$.
Definition: Texture.h:77
double m_homogeneity
GLCM metric Homogeneity (also called Inverse Difference Moment) ${i,j=0}^{N-1}{P_{i,j}}{1+(i-j)^2}$.
Definition: Texture.h:79
URI C++ Library.
double m_dissimilarity
GLCM metric Dissimilarity ${i,j=0}^{N-1}P_{i,j}|i-j|$.
Definition: Texture.h:76
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:139
double m_entropy
GLCM metric Entropy ${i,j=0}^{N-1}P_{i,j}(-{P_{i,j}})$.
Definition: Texture.h:78
double m_contrast
GLCM metric Contrast (also called Sum of Squares Variance) ${i,j=0}^{N-1}P_{i,j}(i-j)^2$.
Definition: Texture.h:75
Configuration flags for the Raster Processing module of TerraLib.
A structure to hold the set of GLCM metrics.
Definition: Texture.h:44