Loading...
Searching...
No Matches
RasterContrast.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 RasterContrast.h
22
23 \brief This class contains the parameters needed to apply dynamic contrast over a raster.
24*/
25
26#ifndef __TERRALIB_MAPTOOLS_INTERNAL_RASTERCONTRAST_H
27#define __TERRALIB_MAPTOOLS_INTERNAL_RASTERCONTRAST_H
28
29// TerraLib
30#include "Config.h"
31#include "Enums.h"
32#include "RasterTransform.h"
33
34// STL
35#include <cstdlib>
36#include <string>
37#include <vector>
38
39namespace te
40{
41 namespace map
42 {
43 /*!
44 \class RasterContrast
45
46 \brief This class contains the parameters needed to apply dynamic contrast over a raster.
47
48 \ingroup map
49
50 \sa RasterTransform
51 */
53 {
54 public:
55
56 /*!
57 \brief It constructs a new RasterContrast instance.
58
59 \param type The contrast type.
60 */
61 RasterContrast(const te::map::RasterTransform::ContrastType& type, const std::size_t& nBands);
62
63 /*! \brief Destructor. */
65
66 /*! \brief Copy constructor. */
68
69 /*!
70 \brief It gets the contrast type.
71
72 \return The contrast type.
73 */
75
76 /*!
77 \brief It gets the contrast number of bands.
78
79 \return The number of bands
80 */
81 std::size_t getNBands();
82
83 /*!
84 \brief It set the transformation values for contranst of one band.
85
86 \param gain The gain value of transformation.
87 \param offset1 The offset1 value of transformation.
88 \param offset2 The offset2 value of transformation.
89 \param min The minimun band value for this transformation.
90 \param max The maximum band value for this transformation.
91 \param band The band index.
92 */
93 void setValues(const double& gain, const double& offset1, const double& offset2, const double& min, const double& max, const std::size_t& band);
94
95 /*!
96 \brief It get the contrast transformation values.
97
98 \param gain The vector with gain values of transformation.
99 \param offset1 The vector with offset1 values of transformation.
100 \param offset2 The vector with offset2 values of transformation.
101 \param min The vector with minimun band values for this transformation.
102 \param max The vector with maximum band values for this transformation.
103 */
104 void getValues(std::vector<double>& gain, std::vector<double>& offset1, std::vector<double>& offset2, std::vector<double>& min, std::vector<double>& max);
105
106
107 private:
108
110
111 std::size_t m_nBands;
112
113 std::vector<double> m_gain;
114 std::vector<double> m_offset1;
115 std::vector<double> m_offset2;
116 std::vector<double> m_min;
117 std::vector<double> m_max;
118 };
119
120 } // end namespace map
121} // end namespace te
122
123#endif // __TERRALIB_MAPTOOLS_INTERNAL_RASTERCONTRAST_H
124
A Raster Transform is a class that defines functions to transform a styled raster.
This class contains the parameters needed to apply dynamic contrast over a raster.
std::vector< double > m_offset1
void setValues(const double &gain, const double &offset1, const double &offset2, const double &min, const double &max, const std::size_t &band)
It set the transformation values for contranst of one band.
void getValues(std::vector< double > &gain, std::vector< double > &offset1, std::vector< double > &offset2, std::vector< double > &min, std::vector< double > &max)
It get the contrast transformation values.
std::size_t getNBands()
It gets the contrast number of bands.
std::vector< double > m_gain
RasterContrast(const RasterContrast &rhs)
Copy constructor.
std::vector< double > m_max
~RasterContrast()
Destructor.
te::map::RasterTransform::ContrastType m_type
The contrast type.
std::vector< double > m_offset2
RasterContrast(const te::map::RasterTransform::ContrastType &type, const std::size_t &nBands)
It constructs a new RasterContrast instance.
const te::map::RasterTransform::ContrastType getType() const
It gets the contrast type.
std::vector< double > m_min
TerraLib.
#define TEMAPEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:60
Proxy configuration file for TerraView (see terraview_config.h).
Enumerations of XML module.