OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimBandSelector.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: MIT
4 //
5 // Author: Garrett Potts
6 //
7 // Description: Contains class declaration for ossimBandSelector.
8 //
9 //*******************************************************************
10 // $Id$
11 #ifndef ossimBandSelector_HEADER
12 #define ossimBandSelector_HEADER 1
13 
15 #include <vector>
16 
17 class ossimImageData;
18 class ossimImageHandler;
19 
21 {
22 
23 public:
25  {
26  ossimBandSelectorWithinRangeFlagState_NOT_SET = 0,
27  ossimBandSelectorWithinRangeFlagState_IN_RANGE = 1,
28  ossimBandSelectorWithinRangeFlagState_OUT_OF_RANGE = 2,
29  };
30 
32  virtual ~ossimBandSelector();
33 
34  virtual ossimString getLongName() const;
35  virtual ossimString getShortName() const;
36 
37  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tileRect,
38  ossim_uint32 resLevel=0);
39 
43  virtual void getOutputBandList(std::vector<ossim_uint32>& bandList) const;
44 
45 
63  virtual void setThreeBandRgb();
64 
84  virtual void setOutputBandList(const vector<ossim_uint32>& outputBandList,
85  bool disablePassThru=false);
86 
90  virtual ossim_uint32 getNumberOfOutputBands() const;
91 
104  virtual ossim_uint32 getNumberOfInputBands()const;
105 
106  virtual void initialize();
107 
108  virtual double getMinPixelValue(ossim_uint32 band=0)const;
109  virtual double getMaxPixelValue(ossim_uint32 band=0)const;
110  virtual double getNullPixelValue(ossim_uint32 band=0)const;
111 
116  virtual bool saveState(ossimKeywordlist& kwl,
117  const char* prefix=NULL)const;
118 
123  virtual bool loadState(const ossimKeywordlist& kwl,
124  const char* prefix=NULL);
129  //virtual void propertyEvent(ossimPropertyEvent& event);
130  //virtual void refreshEvent(ossimRefreshEvent& event);
131 
132  virtual void setProperty(ossimRefPtr<ossimProperty> property);
133  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
134  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
135  virtual bool isSourceEnabled()const;
136 
137 protected:
138 
142  void allocate();
143 
147  void checkPassThrough();
148 
153  bool outputBandsWithinInputRange() const;
154 
166  ossimRefPtr<ossimImageHandler> getBandSelectableImageHandler() const;
167 
177  bool getRgbBandList(std::vector<ossim_uint32>& bandList) const;
178 
180  std::vector<ossim_uint32> m_outputBandList;
185 
186 TYPE_DATA
187 };
188 
189 #endif /* #ifndef ossimBandSelector_HEADER */
virtual bool isSourceEnabled() const
Definition: ossimSource.cpp:79
ossimRefPtr< ossimImageData > m_tile
virtual void getOutputBandList(std::vector< ossim_uint32 > &bandList) const
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual ossim_uint32 getNumberOfInputBands() const
Represents serializable keyword/value map.
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
virtual ossimString getShortName() const
Definition: ossimObject.cpp:48
virtual double getMinPixelValue(ossim_uint32 band=0) const
Returns the min pixel of the band.
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual ossimString getLongName() const
Definition: ossimObject.cpp:53
ossimBandSelectorWithinRangeFlagState m_withinRangeFlag
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
virtual double getMaxPixelValue(ossim_uint32 band=0) const
Returns the max pixel of the band.
#define OSSIM_DLL
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
std::vector< ossim_uint32 > m_outputBandList
virtual double getNullPixelValue(ossim_uint32 band=0) const
Each band has a null pixel associated with it.
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)