MrSID Decode SDK for Raster Reference Manual  9.1.0.4045
lti_imageFilter.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_IMAGEFILTER_H
14 #define LTI_IMAGEFILTER_H
15 
16 // lt_lib_mrsid_core
17 #include "lti_imageStage.h"
19 
20 LT_BEGIN_NAMESPACE(LizardTech)
21 
22 
30 {
32 public:
33  // LTIImage
34  lt_uint32 getWidth() const;
35  lt_uint32 getHeight() const;
36  LT_STATUS getDimsAtMag(double mag,
37  lt_uint32 &width,
38  lt_uint32 &height) const;
39  const LTIPixel &getPixelProps() const;
40  const LTIPixel *getBackgroundPixel() const;
41  const LTIPixel *getNoDataPixel() const;
42  const LTIPixelLookupTable *getPixelLookupTable() const;
43  const LTIPixel &getMinDynamicRange() const;
44  const LTIPixel &getMaxDynamicRange() const;
45  const LTIGeoCoord &getGeoCoord() const;
46  bool isGeoCoordImplicit() const;
47  const LTIMetadataDatabase &getMetadata() const;
48  double getMinMagnification() const;
49  double getMaxMagnification() const;
50  bool isSelective() const;
51 
52 
53  // LTIImageStage
54  void setProgressDelegate(LTIProgressDelegate* delegate);
55  LTIProgressDelegate* getProgressDelegate() const;
56  void setInterruptDelegate(LTIInterruptDelegate* delegate);
57  LTIInterruptDelegate* getInterruptDelegate() const;
58  lt_uint32 getStripHeight() const;
59  LT_STATUS setStripHeight(lt_uint32 stripHeight);
60  lt_int64 getEncodingCost(const LTIScene& scene) const;
61  bool getReaderScene(const LTIScene &decodeScene,
62  LTIScene &readerScene) const;
63  virtual lt_uint32 getModifications(const LTIScene &scene) const;
64 
65  LT_STATUS overrideBackgroundPixel(const LTIPixel *backgroundPixel);
66  LT_STATUS overrideNoDataPixel(const LTIPixel *nodataPixel);
67  LT_STATUS overrideGeoCoord(const LTIGeoCoord &geoCoord);
68  LT_STATUS overrideDynamicRange(const LTIPixel& drmin,
69  const LTIPixel& drmax);
70  LT_STATUS overridePixelBPS(lt_uint8);
71  LT_STATUS overridePixelLookupTable(const LTIPixelLookupTable* pixelLookupTable);
72  LT_STATUS overrideMetadata(const LTIMetadataDatabase &metadata);
73  LTIMaskSource *getMask() const;
74  bool getPipelineInfo(LTIPipelineInfo info) const;
75 
76  LTIImageStage *getPreviousStage(void) const;
77 protected:
78  LT_STATUS decodeBegin(const LTIPixel &pixelProps,
79  const LTIScene &fullScene);
80  LT_STATUS decodeStrip(LTISceneBuffer &stripBuffer,
81  const LTIScene &stripScene);
82  LT_STATUS decodeEnd(void);
83 
84 protected:
85  LT_STATUS init(LTIImageStage *previousStage);
86 
87  // HACK: use when the filter owns resources needed by the previousStage
88  void releasePreviousStageNow(void);
89 
90 private:
91  LTIImageStage* m_previousStage;
92 };
93 
94 
95 LT_END_NAMESPACE(LizardTech)
96 
97 #endif // LTI_IMAGEFILTER_H
class to hold data passed between image stages
unsigned int lt_uint32
unsigned 32-bit integer
Definition: lt_types.h:54
unsigned char lt_uint8
unsigned 8-bit integer
Definition: lt_types.h:46
abstract class for decoding from an image
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
representation of a scene
Definition: lti_scene.h:64
interrupt delegate (callback) base class
Definition: lti_delegates.h:39
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
progress delegate (callback) base class
Definition: lti_delegates.h:72
LTIPipelineInfo
Definition: lti_types.h:223
color lookup table
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
represents a geographic coordinate
Definition: lti_geoCoord.h:32
#define LTI_REFERENCE_COUNTED_BOILERPLATE_BASE(classname)
Macros for defining boilerplate parts of derived LTIReferenceCountedObject classes.
abstract class for implementing an image transform
class for storing metadata associated with an image
basic properties of a pixel
Definition: lti_pixel.h:36

LizardTech