Loading...
Searching...
No Matches
ChannelSelection.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/se/ChannelSelection.h
22
23 \brief ChannelSelection specifies the false-color channel selection for a multi-spectral raster source (such as a multi-band satellite-imagery source).
24*/
25
26#ifndef __TERRALIB_SE_INTERNAL_CHANNELSELECTION_H
27#define __TERRALIB_SE_INTERNAL_CHANNELSELECTION_H
28
29// TerraLib
30#include "Config.h"
31#include "Enums.h"
32
33// Boost
34#include <boost/noncopyable.hpp>
35
36namespace te
37{
38 namespace se
39 {
40// Forward declaration
41 class SelectedChannel;
42
43 /*!
44 \class ChannelSelection
45
46 \brief ChannelSelection specifies the false-color channel selection for a multi-spectral raster source (such as a multi-band satellite-imagery source).
47
48 Either a channel may be selected to display in
49 each of red, green, and blue, or a single channel
50 may be selected to display in grayscale. (The
51 spelling "gray" is used since it seems to be
52 more common on the Web than "grey" by a ratio
53 of about 3:1.) Contrast enhancement may be applied
54 to each channel in isolation. Channels are identified
55 by a system and data-dependent character identifier.
56 Commonly, channels will be labelled as "1", "2", etc.
57
58 \ingroup se
59
60 \sa RasterSymbolizer, SelectedChannel
61 */
62 class TESEEXPORT ChannelSelection : public boost::noncopyable
63 {
64 public:
65
66 /** @name Initializer Methods
67 * Methods related to instantiation and destruction.
68 */
69 //@{
70
71 /*! \brief It initializes a new ChannelSelection. */
73
74 /*! \brief Destructor. */
76
77 //@}
78
79 /** @name Accessor methods
80 * Methods used to get or set properties.
81 */
82 //@{
83
85
86 SelectedChannel* getRedChannel() const { return m_redChannel; }
87
89
90 SelectedChannel* getGreenChannel() const { return m_greenChannel; }
91
93
94 SelectedChannel* getBlueChannel() const { return m_blueChannel; }
95
97
98 SelectedChannel* getGrayChannel() const { return m_grayChannel; }
99
101
102 ColorCompositionType getColorCompositionType() const { return m_colorCompType; }
103
104 //@}
105
106 /*! \brief It creates a new copy of this object. */
108
109 private:
110
111 SelectedChannel* m_redChannel; //!< Either a channel may be selected to display in each of red, green, and blue, or a single channel may be selected to display in grayscale. (Mandatory if grayChannel_ is not informed)
112 SelectedChannel* m_greenChannel; //!< Either a channel may be selected to display in each of red, green, and blue, or a single channel may be selected to display in grayscale. (Mandatory if grayChannel_ is not informed)
113 SelectedChannel* m_blueChannel; //!< Either a channel may be selected to display in each of red, green, and blue, or a single channel may be selected to display in grayscale. (Mandatory if grayChannel_ is not informed)
114 SelectedChannel* m_grayChannel; //!< Either a channel may be selected to display in each of red, green, and blue, or a single channel may be selected to display in grayscale. (Mandatory if redChannel_, greenChannel_ and blueChannel_ is not informed)
115
116 ColorCompositionType m_colorCompType; //!< Define the color composition, this is not defined in SE spec.
117 };
118
119 } // end namespace se
120} // end namespace te
121
122#endif // __TERRALIB_SE_INTERNAL_CHANNELSELECTION_H
123
ChannelSelection specifies the false-color channel selection for a multi-spectral raster source (such...
SelectedChannel * getBlueChannel() const
SelectedChannel * getGrayChannel() const
~ChannelSelection()
Destructor.
void setGrayChannel(SelectedChannel *c)
SelectedChannel * getRedChannel() const
SelectedChannel * getGreenChannel() const
SelectedChannel * m_redChannel
Either a channel may be selected to display in each of red, green, and blue, or a single channel may ...
void setRedChannel(SelectedChannel *c)
SelectedChannel * m_blueChannel
Either a channel may be selected to display in each of red, green, and blue, or a single channel may ...
void setColorCompositionType(ColorCompositionType cct)
void setBlueChannel(SelectedChannel *c)
ChannelSelection()
It initializes a new ChannelSelection.
ColorCompositionType m_colorCompType
Define the color composition, this is not defined in SE spec.
SelectedChannel * m_greenChannel
Either a channel may be selected to display in each of red, green, and blue, or a single channel may ...
SelectedChannel * m_grayChannel
Either a channel may be selected to display in each of red, green, and blue, or a single channel may ...
void setGreenChannel(SelectedChannel *c)
ColorCompositionType getColorCompositionType() const
ChannelSelection * clone() const
It creates a new copy of this object.
A selected channel to be display.
ColorCompositionType
Allowed color compositions type.
Definition: Enums.h:39
TerraLib.
#define TESEEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:201
Proxy configuration file for TerraView (see terraview_config.h).
Enumerations of XML module.