00001
00019 #ifndef INC_SPATMOD_IMAGEFILTERLIMITRANGE_H
00020 #define INC_SPATMOD_IMAGEFILTERLIMITRANGE_H
00021
00022 #ifndef INC_SPATMOD_IMAGEFILTER_H
00023 #include <spatmod/imagefilter.h>
00024 #endif
00025
00026 namespace SPATMOD {
00027 namespace IMAGE {
00028
00029
00030
00033 class FILTER_LIMIT_RANGE : public FILTER {
00034 public:
00035
00037 FILTER_LIMIT_RANGE (
00038 STAGE *pPreviousStage,
00039 bool TakeOwnership,
00040 const PIXEL& MinValue,
00041 const PIXEL& MaxValue,
00042 bool invalidate = false
00043 );
00044
00047 FILTER_LIMIT_RANGE (
00048 STAGE *pPreviousStage,
00049 bool TakeOwnership,
00050 double MinValue,
00051 double MaxValue,
00052 bool invalidate = false
00053 );
00054
00056 virtual ~FILTER_LIMIT_RANGE ();
00057
00058 private:
00059 #ifndef GENERATING_DOXYGEN_OUTPUT
00060 PIXEL m_PixelMin;
00061 PIXEL m_PixelMax;
00062 bool m_Invalidate;
00063
00064 void ProcessUINT8 (UINT16 SampleIdx, UINT8 *pSample, UINT8 *pValidity, UINT32 NumColumns) const;
00065 void ProcessSINT8 (UINT16 SampleIdx, INT8 *pSample, UINT8 *pValidity, UINT32 NumColumns) const;
00066 void ProcessUINT16 (UINT16 SampleIdx, UINT16 *pSample, UINT8 *pValidity, UINT32 NumColumns) const;
00067 void ProcessSINT16 (UINT16 SampleIdx, INT16 *pSample, UINT8 *pValidity, UINT32 NumColumns) const;
00068 void ProcessUINT32 (UINT16 SampleIdx, UINT32 *pSample, UINT8 *pValidity, UINT32 NumColumns) const;
00069 void ProcessSINT32 (UINT16 SampleIdx, INT32 *pSample, UINT8 *pValidity, UINT32 NumColumns) const;
00070 void ProcessFloat (UINT16 SampleIdx, float *pSample, UINT8 *pValidity, UINT32 NumColumns) const;
00071 void ProcessDouble (UINT16 SampleIdx, double *pSample, UINT8 *pValidity, UINT32 NumColumns) const;
00072
00073
00074 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer);
00075 virtual ERRVALUE v_Initialize ();
00076
00077
00078 FILTER_LIMIT_RANGE (const FILTER_LIMIT_RANGE&);
00079 FILTER_LIMIT_RANGE& operator= (const FILTER_LIMIT_RANGE&);
00080 #endif // GENERATING_DOXYGEN_OUTPUT
00081
00082 };
00083
00084
00085
00086 }
00087 }
00088
00089 #endif // INC_SPATMOD_IMAGEFILTERLIMITRANGE_H
00090