00001 00022 #ifndef INC_SPATMOD_IMAGEFILTERLOOKUP_H 00023 #define INC_SPATMOD_IMAGEFILTERLOOKUP_H 00024 00025 #ifndef INC_SPATMOD_IMAGEFILTER_H 00026 #include <spatmod/imagefilter.h> 00027 #endif 00028 00029 class CONTRASTPARM; 00030 00031 namespace SPATMOD { 00032 namespace IMAGE { 00033 00034 class SAMPLETABLE; 00035 00036 //===================================================================================================================== 00037 00039 class FILTER_LOOKUP : public FILTER { 00040 public: 00041 00043 FILTER_LOOKUP ( 00044 STAGE *pPreviousStage, 00045 bool TakeOwnership 00046 ); 00047 00049 virtual ~FILTER_LOOKUP (); 00050 00053 const PIXEL* GetPixelAboveMax ( 00054 ) const { return (m_pPixelAboveMax); } 00055 00058 const PIXEL* GetPixelBelowMin ( 00059 ) const { return (m_pPixelBelowMin); } 00060 00062 const SAMPLETABLE& GetSampleTable ( 00063 UINT16 SampleNum 00064 ) const; 00065 00068 ERRVALUE SetContrastParm ( 00069 const CONTRASTPARM& ContrastParm, 00070 UINT16 SampleNum = 0 00071 ); 00072 00076 ERRVALUE SetPixelAboveMaximum ( 00077 const PIXEL& PixelAboveMax 00078 ); 00079 00083 ERRVALUE SetPixelBelowMinimum ( 00084 const PIXEL& PixelBelowMin 00085 ); 00086 00089 ERRVALUE SetSampleTable ( 00090 UINT16 SampleNum, 00091 const SAMPLETABLE& SampleTable, 00092 double MinValue = 0, 00093 double Interval = 1 00094 ); 00095 00096 private: 00097 #ifndef GENERATING_DOXYGEN_OUTPUT 00098 SAMPLETABLE *m_SampleTableArray; 00099 PIXEL *m_pPixelBelowMin; 00100 PIXEL *m_pPixelAboveMax; 00101 double *m_SampleMinValueArray; 00102 double *m_SampleIntervalArray; 00103 00104 // STAGE overrides. 00105 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer); 00106 virtual ERRVALUE v_Initialize (); 00107 00108 // Unimplemented 00109 FILTER_LOOKUP (const FILTER_LOOKUP&); 00110 FILTER_LOOKUP& operator= (const FILTER_LOOKUP&); 00111 #endif // GENERATING_DOXYGEN_OUTPUT 00112 00113 }; 00114 00115 //===================================================================================================================== 00116 00117 } // End namespace IMAGE 00118 } // End namespace SPATMOD 00119 00120 #endif // INC_SPATMOD_IMAGEFILTERLOOKUP_H 00121
1.6.1