OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimGeneralRasterTileSource.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: MIT
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: David Burken
8 //
9 // Description:
10 //
11 // Contains class declaration for ossimGeneralRasterTileSource.
12 // ossimGeneralRasterTileSource is derived from ImageHandler which is
13 // derived from ossimTileSource.
14 //*******************************************************************
15 // $Id: ossimGeneralRasterTileSource.h 21631 2012-09-06 18:10:55Z dburken $
16 
17 #ifndef ossimGeneralRasterTileSource_HEADER
18 #define ossimGeneralRasterTileSource_HEADER 1
19 
20 
24 #include <memory>
25 #include <vector>
26 
27 class ossimImageData;
28 
30 {
31 public:
32 
34 
35  virtual ossimString getShortName()const;
36  virtual ossimString getLongName()const;
37 
43  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tile_rect,
44  ossim_uint32 resLevel=0);
45 
58  virtual bool getTile(ossimImageData* result, ossim_uint32 resLevel=0);
59 
64  virtual ossim_uint32 getNumberOfInputBands() const;
65 
71  virtual ossim_uint32 getNumberOfOutputBands() const;
72 
77  virtual ossim_uint32 getNumberOfLines(ossim_uint32 reduced_res_level = 0) const;
78 
83  virtual ossim_uint32 getNumberOfSamples(ossim_uint32 reduced_res_level = 0) const;
84 
89  virtual bool saveState(ossimKeywordlist& kwl,
90  const char* prefix=0)const;
91 
96  virtual bool loadState(const ossimKeywordlist& kwl,
97  const char* prefix=0);
98 
102  virtual ossimScalarType getOutputScalarType() const;
103 
107  virtual ossim_uint32 getTileWidth() const;
108 
112  virtual ossim_uint32 getTileHeight() const;
113 
121  virtual ossim_uint32 getImageTileWidth() const;
122 
130  virtual ossim_uint32 getImageTileHeight() const;
131 
132  bool isValidRLevel(ossim_uint32 reduced_res_level) const;
133 
134  virtual void close();
135  virtual bool isOpen() const;
136  virtual bool open();
137  virtual bool open(const ossimGeneralRasterInfo& info);
138 
143  virtual double getNullPixelValue(ossim_uint32 band=0)const;
144  virtual double getMinPixelValue(ossim_uint32 band=0)const;
145  virtual double getMaxPixelValue(ossim_uint32 band=0)const;
146 
148 
157  virtual bool isBandSelector() const;
158 
167  virtual bool setOutputBandList(const std::vector<ossim_uint32>& band_list);
168 
170  virtual void getOutputBandList(std::vector<ossim_uint32>& bandList) const;
171 
172 protected:
173  virtual ~ossimGeneralRasterTileSource();
177  virtual bool fillBuffer(const ossimIpt& origin, const ossimIpt& size);
178  virtual bool fillBIP(const ossimIpt& origin, const ossimIpt& size);
179  virtual bool fillBIL(const ossimIpt& origin, const ossimIpt& size);
180  virtual bool fillBSQ(const ossimIpt& origin, const ossimIpt& size);
181  virtual bool fillBsqMultiFile(const ossimIpt& origin, const ossimIpt& size);
182 
183  virtual ossimKeywordlist getHdrInfo(ossimFilename hdrFile);
184  virtual ossimKeywordlist getXmlInfo(ossimFilename xmlFile);
185 
186  bool initializeHandler();
187 
192  std::vector< std::shared_ptr<ossim::istream> > m_fileStrList;
193  // std::vector< std::ifstream* > m_fileStrList;
198  std::vector<ossim_uint32> m_outputBandList;
199 
200 private:
201 
203  void allocateTile();
204 
206  void allocateBuffer( const ossimImageData* tile );
207 
208 
209 TYPE_DATA
210 };
211 
212 #endif /* #ifndef ossimGeneralRasterTileSource_HEADER */
virtual bool open()=0
Pure virtual open.
Represents serializable keyword/value map.
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
std::vector< ossim_uint32 > m_outputBandList
virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
virtual ossim_uint32 getTileHeight() const
Returns the default processing tile height.
virtual ossimString getShortName() const
Definition: ossimObject.cpp:48
virtual ossim_uint32 getTileWidth() const
Returns the default processing tile width.
virtual bool isValidRLevel(ossim_uint32 resLevel) const
Determines if the passed in reslution level is valid.
virtual bool isOpen() const =0
Derived classes must implement this method to be concrete.
virtual double getMinPixelValue(ossim_uint32 band=0) const
Retuns the min pixel value.
std::vector< std::shared_ptr< ossim::istream > > m_fileStrList
virtual void getOutputBandList(std::vector< ossim_uint32 > &bandList) const
Initializes bandList.
yy_size_t size
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if non defined...
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual ossim_uint32 getImageTileHeight() const =0
Returns the tile width of the image or 0 if the image is not tiled.
unsigned int ossim_uint32
virtual ossimString getLongName() const
Definition: ossimObject.cpp:53
virtual void close()
Deletes the overview and clears the valid image vertices.
ossimInterleaveType
virtual bool isBandSelector() const
Indicates whether or not the image handler can control output band selection via the setOutputBandLis...
ossimScalarType
ossimRefPtr< ossimImageData > m_tile
virtual ossim_uint32 getImageTileWidth() const =0
Returns the tile width of the image or 0 if the image is not tiled.
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
This class defines an abstract Handler which all image handlers(loaders) should derive from...
#define OSSIM_DLL
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
virtual double getMaxPixelValue(ossim_uint32 band=0) const
Returns the max pixel of the band.
virtual ossim_uint32 getNumberOfInputBands() const =0
virtual bool setOutputBandList(const std::vector< ossim_uint32 > &band_list)
If the image handler "isBandSeletor()" then the band selection of the output chip can be controlled...
virtual double getNullPixelValue(ossim_uint32 band=0) const
Each band has a null pixel associated with it.
unsigned char ossim_uint8
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)