OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimH5ImageDataset.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: LGPL
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: David Burken
8 //
9 // Description: OSSIM HDF5 Image DataSet.
10 //
11 //----------------------------------------------------------------------------
12 // $Id
13 
14 #ifndef ossimH5ImageDataset_HEADER
15 #define ossimH5ImageDataset_HEADER 1
16 
18 #include <ossim/base/ossimIrect.h>
19 #include <iosfwd>
20 #include <string>
21 
22 // Forward class declarations:
23 class ossimImageData;
24 class ossimEndian;
25 class ossimIpt;
26 class ossimIrect;
27 namespace H5
28 {
29  class DataSet;
30  class H5File;
31 }
32 
37 {
38 public:
41 
44 
47 
49  void close();
50 
52 
57  bool initialize( const H5::DataSet& dataset,
58  const std::string& datasetName );
59 
67  const H5::DataSet* getDataset() const;
68 
76  H5::DataSet* getDataset();
77 
79  const std::string& getName() const;
80 
83 
86 
89 
92 
94  bool getSwapFlag() const;
95 
96  const ossimIpt& getSubImageOffset() const;
97 
98  const ossimIrect& getValidImageRect() const;
99 
112  void getTileBuf(void* buffer, const ossimIrect& rect, ossim_uint32 band);
113 
118  std::ostream& print(std::ostream& out) const;
119 
121  const ossimH5ImageDataset& obj);
122 private:
123  H5::DataSet* m_dataset;
124  std::string m_datasetName;
129 
137  ossimIrect m_validRect; // Zero based image rect:
138  ossimEndian* m_endian; // For byte swapping if needed.
139 
140 }; // End: class ossimH5ImageDataset
141 
142 #endif /* #ifndef ossimH5ImageDataset_HEADER */
ossimScalarType m_scalar
void close()
Calls H5::DataSet::close then deletes data set.
#define OSSIMDLLEXPORT
const ossimH5ImageDataset & operator=(const ossimH5ImageDataset &rhs)
ossimH5ImageDataset()
default constructor
void getTileBuf(void *buffer, const ossimIrect &rect, ossim_uint32 band)
Method to grab a tile(rectangle) from image.
ossim_uint32 getNumberOfLines() const
const H5::DataSet * getDataset() const
Get const pointer to dataset.
ossim_uint32 getNumberOfBands() const
std::ostream & print(std::ostream &out) const
print method.
unsigned int ossim_uint32
ossimScalarType
ossimScalarType getScalarType() const
friend OSSIMDLLEXPORT std::ostream & operator<<(std::ostream &out, const ossimH5ImageDataset &obj)
ossim_uint32 getNumberOfSamples() const
const ossimIpt & getSubImageOffset() const
~ossimH5ImageDataset()
destructor
const ossimIrect & getValidImageRect() const
Class encapsulates a HDF5 Data set that can be loaded as an image.
bool initialize(const H5::DataSet &dataset, const std::string &datasetName)
Opens datasetName and initializes all data members on success.
const std::string & getName() const
ossimIrect m_validRect
Zero based image rect:
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23