MrSID Decode SDK for Raster Reference Manual  9.1.0.4045
lti_imageReader.h
Go to the documentation of this file.
1 /* $Id$ */
2 /* //////////////////////////////////////////////////////////////////////////
3 // //
4 // This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6 // prohibited. Access to and use of this code is permitted only under //
7 // license from LizardTech, Inc. Portions of the code are protected by //
8 // US and foreign patents and other filings. All Rights Reserved. //
9 // //
11 /* PUBLIC */
12 
13 #ifndef LTI_IMAGE_READER_H
14 #define LTI_IMAGE_READER_H
15 
16 // lt_lib_mrsid_core
17 #include "lti_imageStage.h"
19 
20 
21 LT_BEGIN_NAMESPACE(LizardTech)
22 
23 
30 #ifdef SWIG
31 class LTIImageReader : public LTIImageStage
32 #else
34  <LTIOverridePixelProps
35  <LTIOverrideBackgroundPixel
36  <LTIOverrideGeoCoord
37  <LTIOverrideMagnification
38  <LTIOverrideIsSelective
39  <LTIOverrideStripHeight
40  <LTIOverrideDelegates
41  <LTIOverridePixelLookupTables
42  <LTIOverrideMetadata
43  <LTIImageStage> > > > > > > > > >
44 #endif
45 {
46  LT_DISALLOW_COPY_CONSTRUCTOR(LTIImageReader);
47 public:
48  // LTIImage
49  LT_STATUS getDimsAtMag(double mag,
50  lt_uint32& width,
51  lt_uint32& height) const;
52 
53  virtual LTIMaskSource *getMask() const;
54  virtual bool getPipelineInfo(LTIPipelineInfo info) const;
55 
56  // LTIImageStage
57 
58  lt_int64 getEncodingCost(const LTIScene& scene) const;
59  bool getReaderScene(const LTIScene &decodeScene,
60  LTIScene &readerScene) const;
61  virtual lt_uint32 getModifications(const LTIScene &scene) const;
62 
63  // override too support ImageReaders that don't support band selection
64  LT_STATUS readBegin(const LTIPixel &pixelProps, const LTIScene &fullScene);
65  LT_STATUS readStrip(LTISceneBuffer &buffer, const LTIScene &stripScene);
66  LT_STATUS readEnd(void);
67 
68 protected:
69  LTIImageReader(bool supportBandSelection);
70 
71  LT_STATUS init(const LTIImage *image = NULL);
72 
73 
75  LTIPixel &pixelProps,
76  bool updatePixelProps,
77  bool updateGeoCoord);
78  virtual const char *getSourceName(void) const = 0;
79 
80 protected:
82 };
83 
84 
85 LT_END_NAMESPACE(LizardTech)
86 
87 
88 #endif // LTI_IMAGE_READER_H
class to hold data passed between image stages
LTIImageReader(bool supportBandSelection)
unsigned int lt_uint32
unsigned 32-bit integer
Definition: lt_types.h:54
abstract class for decoding from an image
virtual const char * getSourceName(void) const =0
const bool m_supportBandSelection
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
representation of a scene
Definition: lti_scene.h:64
LT_STATUS getDimsAtMag(double mag, lt_uint32 &width, lt_uint32 &height) const
get image width and height at given magnification
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
abstract class for implementing an image reader
LTIPipelineInfo
Definition: lti_types.h:223
virtual bool getPipelineInfo(LTIPipelineInfo info) const
LT_STATUS loadMetadataIntoObjects(const LTIMetadataDatabase &fileMetadata, LTIPixel &pixelProps, bool updatePixelProps, bool updateGeoCoord)
LT_STATUS readEnd(void)
finish strip-based read
LT_STATUS readBegin(const LTIPixel &pixelProps, const LTIScene &fullScene)
start strip-based read
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
LT_STATUS init(const LTIImage *image=NULL)
class for storing metadata associated with an image
basic properties of a pixel
Definition: lti_pixel.h:36
LT_STATUS readStrip(LTISceneBuffer &buffer, const LTIScene &stripScene)
read a strip from the image
lt_int64 getEncodingCost(const LTIScene &scene) const
get the cost to encode this scene
virtual lt_uint32 getModifications(const LTIScene &scene) const
get the modification bitfield for this image
abstract class representing an image
Definition: lti_image.h:32
bool getReaderScene(const LTIScene &decodeScene, LTIScene &readerScene) const
get the underlying scene to be used
virtual LTIMaskSource * getMask() const

LizardTech