r124: *** empty log message ***
[ctsim.git] / include / filter.h
index 9bbf554873cb6cad0d37eb3994075dcba5c2e4e4..5512bf890fb4596abfffcee223a795de58ef9048 100644 (file)
@@ -18,7 +18,17 @@ class SignalFilter {
        FILTER_ABS_COSINE,
        FILTER_SHEPP
     } FilterID;
-    
+
+    typedef enum {
+       FILTER_METHOD_INVALID,
+       FILTER_METHOD_CONVOLUTION,
+       FILTER_METHOD_FOURIER,
+       FILTER_METHOD_FFT,
+       FILTER_METHOD_FFT_ZEROPAD_2,
+       FILTER_METHOD_FFT_ZEROPAD_4,
+       FILTER_METHOD_FFT_ZEROPAD_6
+    } FilterMethodID;
+
     typedef enum {
        DOMAIN_INVALID,
        DOMAIN_FREQ,
@@ -36,6 +46,13 @@ class SignalFilter {
     static const char FILTER_HAMMING_STR[]=       "hamming";
     static const char FILTER_TRIANGLE_STR[]=      "triangle";
     
+    static const char FILTER_METHOD_CONVOLUTION_STR[]=  "convolution";
+    static const char FILTER_METHOD_FOURIER_STR[]=      "fourier";
+    static const char FILTER_METHOD_FFT_STR[]=          "fft";
+    static const char FILTER_METHOD_FFT_ZEROPAD_2_STR[]="fft_zeropad2";
+    static const char FILTER_METHOD_FFT_ZEROPAD_4_STR[]="fft_zeropad4";
+    static const char FILTER_METHOD_FFT_ZEROPAD_6_STR[]="fft_zeropad6";
+
     static const char DOMAIN_FREQ_STR[]=    "freq";
     static const char DOMAIN_SPATIAL_STR[]= "spatial";
 
@@ -82,8 +99,10 @@ class SignalFilter {
     bool m_fail;
     string m_failMessage;
     string m_nameFilter;
+    string m_nameFilterMethod;
     string m_nameDomain;
     FilterID m_idFilter;
+    FilterMethodID m_idFilterMethod;
     DomainID m_idDomain;
     double m_filterParam;
     int m_numIntegral;