OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimMrSidReader.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 // Description: Class declaration MrSID reader.
8 //
9 // Specification: ISO/IEC 15444
10 //
11 //----------------------------------------------------------------------------
12 // $Id: ossimMrSidReader.h 2645 2011-05-26 15:21:34Z oscar.kramer $
13 
14 #ifndef ossimMrSidReader_HEADER
15 #define ossimMrSidReader_HEADER 1
16 
17 #include <iosfwd>
18 #include <fstream>
19 #include <vector>
21 #include <ossim/base/ossimIpt.h>
22 #include <ossim/base/ossimIrect.h>
26 
27 //LizardTech Includes
28 #include <MrSIDImageReader.h>
29 #include <lti_navigator.h>
30 #include <lti_metadataTypes.h>
31 
32 LT_USE_NAMESPACE(LizardTech);
33 
34 // Forward class declarations.
35 class ossimImageData;
36 class ossimDpt;
37 
39 {
40 public:
41 
44 
46  virtual ~ossimMrSidReader();
47 
52  virtual ossimString getShortName() const;
53 
58  virtual ossimString getLongName() const;
59 
64  virtual ossimString getClassName() const;
65 
76  ossim_uint32 resLevel=0);
77 
82  virtual ossim_uint32 getNumberOfInputBands() const;
83 
89  virtual ossim_uint32 getNumberOfOutputBands()const;
96  virtual ossim_uint32 getImageTileWidth() const;
97 
104  virtual ossim_uint32 getImageTileHeight() const;
105 
109  virtual ossimScalarType getOutputScalarType() const;
110 
116  virtual void getDecimationFactor(ossim_uint32 resLevel,
117  ossimDpt& result) const;
118 
123  virtual void getDecimationFactors(vector<ossimDpt>& decimations) const;
124 
135 
144  virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel = 0) const;
145 
154  virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel = 0) const;
155 
160  virtual bool open();
161 
167  virtual bool isOpen()const;
168 
176  virtual void closeEntry();
177 
184 
189  virtual bool loadState(const ossimKeywordlist& kwl, const char* prefix=0);
190 
191 protected:
192 
198 
204 
205 
206 private:
207 
208  bool computeDecimationFactors(std::vector<ossimDpt>& decimations) const;
209 
210  bool getImageDimensions(std::vector<ossimIrect>& tileDims) const;
211 
212  ossimProjection* getGeoProjection();
213 
214  void getDataType();
215 
216  void computeMinMax();
217 
218  bool getMetadataElement(LTIMetadataDatabase metaDb, const char* tagName, void *pValue, int iLength=0);
219 
220  MrSIDImageReader* theReader;
221  LTINavigator* theImageNavigator;
222 
227  std::vector<ossimIrect> theMrSidDims;
228 
232 TYPE_DATA
233 };
234 
235 #endif /* #ifndef ossimMrSidReader_HEADER */
virtual bool open()=0
Pure virtual open.
virtual void getDecimationFactors(vector< ossimDpt > &decimations) const
This returns all decimation for all levels.
ossimIrect theImageRect
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.
virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
virtual ossimString getClassName() const
Definition: ossimObject.cpp:64
virtual void getDecimationFactor(ossim_uint32 resLevel, ossimDpt &result) const
virtual ossimString getShortName() const
Definition: ossimObject.cpp:48
virtual ossim_uint32 getNumberOfDecimationLevels() const
This returns the total number of decimation levels.
virtual bool isOpen() const =0
Derived classes must implement this method to be concrete.
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
ossimRefPtr< ossimImageData > theTile
virtual ossimString getLongName() const
Definition: ossimObject.cpp:53
ossimScalarType theScalarType
#define OSSIM_PLUGINS_DLL
virtual ossimRefPtr< ossimImageGeometry > getInternalImageGeometry() const
std::vector< ossimIrect > theMrSidDims
Has sub image offset.
LT_USE_NAMESPACE(LizardTech)
ossimScalarType
ossim_uint32 theNumberOfBands
virtual ossimRefPtr< ossimImageGeometry > getExternalImageGeometry() const
Returns the image geometry object associated with this tile source or NULL if non defined...
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...
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel=0) const =0
Pure virtual, derived classes must implement.
LTINavigator * theImageNavigator
ossim_uint32 theMinDwtLevels
virtual ossim_uint32 getNumberOfInputBands() const =0
MrSIDImageReader * theReader
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)