00001
00025 #ifndef INC_SPATMOD_IMAGEFILTERQUANTIZE_H
00026 #define INC_SPATMOD_IMAGEFILTERQUANTIZE_H
00027
00028 #ifndef INC_SPATMOD_IMAGEFILTER_H
00029 #include <spatmod/imagefilter.h>
00030 #endif
00031
00032 class CONTRASTPARM;
00033
00034 namespace SPATMOD {
00035 namespace IMAGE {
00036
00037 class SAMPLETABLE;
00038
00039
00040
00043 class FILTER_QUANTIZE : public FILTER {
00044 public:
00045
00047 FILTER_QUANTIZE (
00048 STAGE *pPreviousStage,
00049 bool TakeOwnership
00050 );
00051
00053 virtual ~FILTER_QUANTIZE ();
00054
00056 const SAMPLETABLE& GetSampleTable (
00057 UINT16 SampleNum
00058 ) const;
00059
00067 ERRVALUE SetSampleTable (
00068 UINT16 SampleNum,
00069 const SAMPLETABLE& SampleTable
00070 );
00071
00072 private:
00073 #ifndef GENERATING_DOXYGEN_OUTPUT
00074 SAMPLETABLE *m_SampleTableArray;
00075
00076 void ProcessUINT8 (UINT8* pTgt, const UINT8 *pSrc, const SAMPLETABLE& SampleTable, UINT32 NumColumns) const;
00077 void ProcessSINT8 (UINT8* pTgt, const INT8 *pSrc, const SAMPLETABLE& SampleTable, UINT32 NumColumns) const;
00078 void ProcessUINT16 (UINT8* pTgt, const UINT16 *pSrc, const SAMPLETABLE& SampleTable, UINT32 NumColumns) const;
00079 void ProcessSINT16 (UINT8* pTgt, const INT16 *pSrc, const SAMPLETABLE& SampleTable, UINT32 NumColumns) const;
00080 void ProcessUINT32 (UINT8* pTgt, const UINT32 *pSrc, const SAMPLETABLE& SampleTable, UINT32 NumColumns) const;
00081 void ProcessSINT32 (UINT8* pTgt, const INT32 *pSrc, const SAMPLETABLE& SampleTable, UINT32 NumColumns) const;
00082 void ProcessFloat (UINT8* pTgt, const float *pSrc, const SAMPLETABLE& SampleTable, UINT32 NumColumns) const;
00083 void ProcessDouble (UINT8* pTgt, const double *pSrc, const SAMPLETABLE& SampleTable, UINT32 NumColumns) const;
00084
00085
00086 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer);
00087 virtual ERRVALUE v_Initialize ();
00088
00089
00090 FILTER_QUANTIZE (const FILTER_QUANTIZE&);
00091 FILTER_QUANTIZE& operator= (const FILTER_QUANTIZE&);
00092 #endif // GENERATING_DOXYGEN_OUTPUT
00093
00094 };
00095
00096
00097
00098 }
00099 }
00100
00101 #endif // INC_SPATMOD_IMAGEFILTERQUANTIZE_H
00102