X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=include%2Ffilter.h;h=19266a0edbce9e909d39bb127436f7de8a86fa68;hb=00bead9fe7ab835c1584eac4ab586cc56742eaf3;hp=9bbf554873cb6cad0d37eb3994075dcba5c2e4e4;hpb=08f34bf3ba14d4f436f4d2ef0ee5af1d6eb266ac;p=ctsim.git diff --git a/include/filter.h b/include/filter.h index 9bbf554..19266a0 100644 --- a/include/filter.h +++ b/include/filter.h @@ -1,7 +1,33 @@ +/***************************************************************************** +** FILE IDENTIFICATION +** +** Name: filter.h +** Purpose: Signal filter header file +** Programmer: Kevin Rosenberg +** Date Started: June 2000 +** +** This is part of the CTSim program +** Copyright (C) 1983-2000 Kevin Rosenberg +** +** $Id: filter.h,v 1.5 2000/06/30 02:03:27 kevin Exp $ +** +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License (version 2) as +** published by the Free Software Foundation. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ + #ifndef FILTER_H #define FILTER_H - class SignalFilter { public: @@ -18,10 +44,20 @@ 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, + DOMAIN_FREQUENCY, DOMAIN_SPATIAL } DomainID; @@ -36,7 +72,14 @@ class SignalFilter { static const char FILTER_HAMMING_STR[]= "hamming"; static const char FILTER_TRIANGLE_STR[]= "triangle"; - static const char DOMAIN_FREQ_STR[]= "freq"; + 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_FREQUENCY_STR[]= "frequency"; static const char DOMAIN_SPATIAL_STR[]= "spatial"; @@ -82,8 +125,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;