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