X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Ffilter.h;fp=include%2Ffilter.h;h=a0c4b4b15c57a7e627a51f4b15aec63026c06bb1;hp=d898103367830b034858d322748f44554b6b0a56;hb=d158a6da6ec776fe98961f73f2ea74cf55de4700;hpb=b565c017417f9dc25ea30d651a6b6c5435314259 diff --git a/include/filter.h b/include/filter.h index d898103..a0c4b4b 100644 --- a/include/filter.h +++ b/include/filter.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: filter.h,v 1.17 2000/07/22 16:14:49 kevin Exp $ +** $Id: filter.h,v 1.18 2000/08/03 09:57:33 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 @@ -69,10 +69,13 @@ class SignalFilter { static const int DOMAIN_FREQUENCY; static const int DOMAIN_SPATIAL; + static const int FREQUENCY_FILTER_INVALID; + static const int FREQUENCY_FILTER_DIRECT_FREQUENCY; + static const int FREQUENCY_FILTER_INVERSE_SPATIAL; - SignalFilter (const char* filterName, const char* filterMethodName,double bw, double signalIncrement, int n, double param, const char* domainName, const int zeropad = 0, const int preinterpolationFactor = 1); + SignalFilter (const char* filterName, const char* filterMethodName,double bw, double signalIncrement, int n, double param, const char* domainName, const char* frequencyFilterName, const int zeropad = 0, const int preinterpolationFactor = 1); - SignalFilter (const int filt_type, int filterMethodID, double bw, double signalIncrement, int n, double param, const int domain, const int zeropad = 0, const int preinterpolationFactor = 1); + SignalFilter (const int filt_type, int filterMethodID, double bw, double signalIncrement, int n, double param, const int domain, int filterFilterID, const int zeropad = 0, const int preinterpolationFactor = 1); SignalFilter (const char* filterName, const char* domainName, double bw, double param); @@ -108,6 +111,7 @@ class SignalFilter { const string& nameDomain(void) const { return m_nameDomain;} const int idFilter(void) const { return m_idFilter;} const int idDomain(void) const { return m_idDomain;} + const int idFrequencyFilter() const { return m_idFrequencyFilter;} const double getFilterMin(void) const {return m_filterMin;} const double getFilterMax(void) const {return m_filterMax;} const double getFilterIncrement(void) const {return m_filterInc;} @@ -144,8 +148,9 @@ class SignalFilter { static int convertDomainNameToID (const char* const domainName); static const char* convertDomainIDToName (const int idDomain); static const char* convertDomainIDToTitle (const int idDomain); - - + static int convertFrequencyFilterNameToID (const char* const ffName); + static const char* convertFrequencyFilterIDToName (const int idFF); + static const char* convertFrequencyFilterIDToTitle (const int idFF); private: double m_bw; @@ -171,8 +176,10 @@ class SignalFilter { string m_nameFilter; string m_nameFilterMethod; string m_nameDomain; + string m_nameFrequencyFilter; int m_idFilter; int m_idFilterMethod; + int m_idFrequencyFilter; int m_idDomain; double m_filterParam; int m_traceLevel; @@ -189,12 +196,15 @@ class SignalFilter { static const char* s_aszDomainName[]; static const char* s_aszDomainTitle[]; static const int s_iDomainCount; + static const char* s_aszFrequencyFilterName[]; + static const char* s_aszFrequencyFilterTitle[]; + static const int s_iFrequencyFilterCount; static int N_INTEGRAL; static const bool haveAnalyticSpatial (const int filterID); - void init (const int filt_type, const int filterMethod, double bw, double signalIncrement, int n, double param, const int domain, const int zeropad, const int preInterpScale); + void init (const int filt_type, const int filterMethod, double bw, double signalIncrement, int n, double param, const int domain, const int frequencyFilter, const int zeropad, const int preInterpScale); double spatialResponseCalc (double x, double param) const;