OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimMultiBandHistogram.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts (gpotts@imagelinks.com)
6 //
7 // Description:
8 //
9 //*******************************************************************
10 // $Id: ossimMultiBandHistogram.h 17205 2010-04-24 18:10:01Z dburken $
11 #ifndef ossimMultiBandHistogram_HEADER
12 #define ossimMultiBandHistogram_HEADER
13 #include <vector>
16 #include <ossim/base/ossimRefPtr.h>
19 
20 class ossimKeywordlist;
21 class ossimImageSource;
22 
24 {
25 public:
29  ossim_int32 numberOfBuckets,
30  float minValue,
31  float maxValue);
32 
33  void create(const ossimImageSource* input);
34 
35  void create(ossim_int32 numberOfBands,
36  ossim_int32 numberOfBuckets,
37  float minValue,
38  float maxValue);
39 
40  ossim_uint32 getNumberOfBands() const;
41 
42  void create(ossim_int32 numberOfBands);
43  void setBinCount(double binNumber, double count);
44  ossimRefPtr<ossimHistogram> getHistogram(ossim_int32 band);
45  const ossimRefPtr<ossimHistogram> getHistogram(ossim_int32 band)const;
46 
47  ossimRefPtr<ossimMultiBandHistogram> createAccumulationLessThanEqual()const;
48  ossimRefPtr<ossimMultiBandHistogram> createAccumulationGreaterThanEqual()const;
52  virtual bool importHistogram(const ossimFilename& inputFile);
53  virtual bool importHistogram(std::istream& in);
54  virtual bool loadState(const ossimKeywordlist& kwl,
55  const char* prefix = 0);
56  virtual bool saveState(ossimKeywordlist& kwl,
57  const char* prefix = 0)const;
58  virtual bool saveState(ossimRefPtr<ossimXmlNode> xmlNode)const;
59  virtual bool loadState(const ossimRefPtr<ossimXmlNode> xmlNode);
60 
61 protected:
62  virtual ~ossimMultiBandHistogram();
64  {
65  public:
67 
68  bool parseStream(std::istream& in);
69 
70  ossim_uint32 getNumberOfBands() const;
71 
72  void clear();
73 
77 
78  };
82  std::vector<ossimRefPtr<ossimHistogram> > theHistogramList;
83 
84  void deleteHistograms();
85 
86  bool parseProprietaryHistogram(std::istream& in);
87 
88 };
89 
90 #endif
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
ossimReferenced allows for shared object ref counting if the reference count ever gets to 0 or less i...
unsigned int ossim_uint32
std::vector< ossimRefPtr< ossimHistogram > > theHistogramList
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
int ossim_int32