MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
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 
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  lt_uint32 getModifications(const LTIScene &scene) const;
52  LT_STATUS getMetadataBlob(const char *type, LTIOStreamInf *&stream) const;
53 
54 
55 
56  // LTIImageStage
57  void setProgressDelegate(LTIProgressDelegate* delegate);
58  LTIProgressDelegate* getProgressDelegate() const;
59  void setInterruptDelegate(LTIInterruptDelegate* delegate);
60  LTIInterruptDelegate* getInterruptDelegate() const;
61  lt_uint32 getStripHeight() const;
62  LT_STATUS setStripHeight(lt_uint32 stripHeight);
63  lt_int64 getEncodingCost(const LTIScene& scene) const;
64  bool getReaderScene(const LTIScene &decodeScene,
65  LTIScene &readerScene) const;
66 
67  LT_STATUS overrideBackgroundPixel(const LTIPixel *backgroundPixel);
68  LT_STATUS overrideNoDataPixel(const LTIPixel *nodataPixel);
69  LT_STATUS overrideGeoCoord(const LTIGeoCoord &geoCoord);
70  LT_STATUS overrideDynamicRange(const LTIPixel& drmin,
71  const LTIPixel& drmax);
72  LT_STATUS overridePixelBPS(lt_uint8);
73  LT_STATUS overridePixelLookupTable(const LTIPixelLookupTable* pixelLookupTable);
74  LT_STATUS overrideMetadata(const LTIMetadataDatabase &metadata);
75  LTIMaskSource *getMask() const;
76  bool getPipelineInfo(LTIPipelineInfo info) const;
77 
78  LTIImageStage *getPreviousStage(void) const;
79 protected:
80  LT_STATUS decodeBegin(const LTIPixel &pixelProps,
81  const LTIScene &fullScene);
82  LT_STATUS decodeStrip(LTISceneBuffer &stripBuffer,
83  const LTIScene &stripScene);
84  LT_STATUS decodeEnd(void);
85 
86 protected:
87  LT_STATUS init(LTIImageStage *previousStage);
88 
89  // HACK: use when the filter owns resources needed by the previousStage
90  void releasePreviousStageNow(void);
91 
92  // Changes the prev pointer of this filter. Probably not a good idea.
93  void changePreviousStage(LTIImageStage* newPref);
94 
95 private:
96  LTIImageStage* m_previousStage;
97 };
98 
99 
101 
102 #endif // LTI_IMAGEFILTER_H
color lookup table
progress delegate (callback) base class
Definition: lti_delegates.h:72
representation of a scene
Definition: lti_scene.h:64
#define LTI_REFERENCE_COUNTED_BOILERPLATE_BASE(classname)
Macros for defining boilerplate parts of derived LTIReferenceCountedObject classes.
lt_uint32 LT_STATUS
An integral status code.
Definition: lt_status.h:39
LTIPipelineInfo
Definition: lti_types.h:228
represents a geographic coordinate
Definition: lti_geoCoord.h:32
#define LT_BEGIN_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:84
unsigned int lt_uint32
unsigned 32-bit integer
Definition: lt_types.h:54
class for storing metadata associated with an image
abstract class for implementing an image transform
class to hold data passed between image stages
abstract class for decoding from an image
unsigned char lt_uint8
unsigned 8-bit integer
Definition: lt_types.h:46
basic properties of a pixel
Definition: lti_pixel.h:36
Abstract definition of a stream.
#define LT_END_NAMESPACE(theNameSpace)
compiler does not support namespaces
Definition: lt_define.h:85
interrupt delegate (callback) base class
Definition: lti_delegates.h:39

LizardTech