00001
00018 #ifndef INC_SPATMOD_IMAGEFILTERSTATISTICS_H
00019 #define INC_SPATMOD_IMAGEFILTERSTATISTICS_H
00020
00021 #ifndef INC_SPATMOD_IMAGEFILTER_H
00022 #include <spatmod/imagefilter.h>
00023 #endif
00024
00025 #ifndef INC_SPATMOD_IMAGESAMPLEITERATOR_H
00026 #include <spatmod/imagesampleiterator.h>
00027 #endif
00028
00029 #ifndef GENERATING_DOXYGEN_OUTPUT
00030 class MISTRINGLIST;
00031 #endif
00032
00033 namespace SPATMOD {
00034 namespace IMAGE {
00035
00036 #ifndef GENERATING_DOXYGEN_OUTPUT
00037 class SAMPLEITERATOR;
00038 class SAMPLEITERATOR_CONST;
00039 #endif
00040
00041
00042
00046 class FILTER_STATISTICS : public FILTER {
00047 public:
00048
00050 enum VALUES {
00051 VALUE_None = 0,
00052 VALUE_Count = 0x0001,
00053 VALUE_Diversity = 0x0002,
00054 VALUE_Minimum = 0x0004,
00055 VALUE_Maximum = 0x0008,
00056 VALUE_Median = 0x0010,
00057 VALUE_Mode = 0x0020,
00058 VALUE_Mean = 0x0040,
00059 VALUE_Sum = 0x0080,
00060 VALUE_StdDev = 0x0100,
00061 VALUE_Variance = 0x0200,
00062 VALUE_RegressionSlope = 0x0400,
00063 VALUE_RegressionOffset = 0x0800,
00064 VALUE_All = 0x0FFF,
00065 VALUE_LAST = 0x0800
00066 };
00067
00069 static TEXTID GetValueName (
00070 VALUES value
00071 );
00072
00076 FILTER_STATISTICS (
00077 STAGE_ARRAY& PreviousStages,
00078 bool TakeOwnership,
00079 VALUES values
00080 );
00081
00083 FILTER_STATISTICS (
00084 STAGE_ARRAY& PreviousStages,
00085 bool TakeOwnership,
00086 VALUES values,
00087 DATATYPE DataTypeMinMaxMedMode,
00088 DATATYPE DataTypeMean,
00089 DATATYPE DataTypeSum,
00090 DATATYPE DataTypeStdVarReg
00091 );
00092
00093 virtual ~FILTER_STATISTICS ();
00094
00095 private:
00096 #ifndef GENERATING_DOXYGEN_OUTPUT
00097 typedef FILTER BASECLASS;
00098
00099 VALUES m_Values;
00100 DATATYPE m_DataTypeMinMaxMedMode;
00101 DATATYPE m_DataTypeMean;
00102 DATATYPE m_DataTypeSum;
00103 DATATYPE m_DataTypeStdVarReg;
00104 BUFFER *m_BufSrc;
00105 SAMPLEITERATOR_CONST *m_itSampleSrc;
00106 SAMPLEITERATOR *m_itSampleTgt;
00107
00108
00109 virtual ERRVALUE v_Initialize ();
00110 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer);
00111
00112 #endif
00113 };
00114
00115 #ifndef GENERATING_DOXYGEN_OUTPUT
00116 DEFINE_ENUM_OP_BITWISE(FILTER_STATISTICS::VALUES)
00117 #endif
00118
00119
00120
00121 }
00122 }
00123
00124 #endif // INC_SPATMOD_IMAGEFILTERSTATISTICS_H
00125