X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Ffilter.h;h=2f8567fda3bb6a33e3cec33e60bd603619039047;hp=7b696b29e8553fd89e99d2b7dd67fa53a72a1a47;hb=1a050c98763fbbc0662731b0b76953acede6f5d7;hpb=ed576a069b0ba9de2e9153707012eba620ac606e diff --git a/include/filter.h b/include/filter.h index 7b696b2..2f8567f 100644 --- a/include/filter.h +++ b/include/filter.h @@ -1,15 +1,15 @@ /***************************************************************************** ** FILE IDENTIFICATION ** -** Name: filter.h +** Name: filter.h ** Purpose: Signal filter header file -** Programmer: Kevin Rosenberg -** Date Started: June 2000 +** Programmer: Kevin Rosenberg +** Date Started: June 2000 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: filter.h,v 1.23 2001/01/12 21:53:27 kevin Exp $ +** $Id$ ** ** 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 @@ -33,8 +33,7 @@ #include "config.h" #endif #ifdef HAVE_FFTW -#include -#include +#include #endif @@ -50,21 +49,23 @@ class SignalFilter { public: static const int FILTER_INVALID; - static const int FILTER_ABS_BANDLIMIT; // filter times |x| + static const int FILTER_ABS_BANDLIMIT; // filter times |x| static const int FILTER_ABS_SINC; static const int FILTER_ABS_G_HAMMING; + static const int FILTER_ABS_HANNING; static const int FILTER_ABS_COSINE; static const int FILTER_SHEPP; static const int FILTER_BANDLIMIT; static const int FILTER_SINC; static const int FILTER_G_HAMMING; + static const int FILTER_HANNING; static const int FILTER_COSINE; static const int FILTER_TRIANGLE; static const int DOMAIN_INVALID; static const int DOMAIN_FREQUENCY; static const int DOMAIN_SPATIAL; - + SignalFilter (const char* szFilterName, double dFilterMinimum, double dFilterMaximum, int nFilterPoints, double dBandwidth, double dFilterParam, const char* szDomainName); SignalFilter (const int idFilter, double dFilterMinimum, double dFilterMaximum, int nFilterPoints, double dBandwidth, double dFilterParam, const int idDomain); @@ -76,13 +77,13 @@ class SignalFilter { double* getFilter (void) const { return m_adFilter; } - bool fail(void) const {return m_fail;} + bool fail(void) const {return m_fail;} const std::string& failMessage(void) const {return m_failMessage;} - const std::string& nameFilter(void) const { return m_nameFilter;} - const std::string& nameDomain(void) const { return m_nameDomain;} - const int idFilter(void) const { return m_idFilter;} - const int idDomain(void) const { return m_idDomain;} + const std::string& nameFilter(void) const { return m_nameFilter;} + const std::string& nameDomain(void) const { return m_nameDomain;} + const int idFilter(void) const { return m_idFilter;} + const int idDomain(void) const { return m_idDomain;} int getNFilterPoints (void) const { return m_nFilterPoints; } const double getFilterMin(void) const {return m_dFilterMin;} @@ -103,15 +104,17 @@ class SignalFilter { static void setNumIntegral(int nIntegral) {N_INTEGRAL = nIntegral;} static const int getFilterCount() {return s_iFilterCount;} - static const char** getFilterNameArray() {return s_aszFilterName;} - static const char** getFilterTitleArray() {return s_aszFilterTitle;} + static const int getReconstructFilterCount() { return s_iReconstructFilterCount; } + + static const char* const* getFilterNameArray() {return s_aszFilterName;} + static const char* const* getFilterTitleArray() {return s_aszFilterTitle;} static int convertFilterNameToID (const char* const filterName); static const char* convertFilterIDToName (const int idFilter); static const char* convertFilterIDToTitle (const int idFilter); static const int getDomainCount() {return s_iDomainCount;} - static const char** getDomainNameArray() {return s_aszDomainName;} - static const char** getDomainTitleArray() {return s_aszDomainTitle;} + static const char* const* getDomainNameArray() {return s_aszDomainName;} + static const char* const* getDomainTitleArray() {return s_aszDomainTitle;} static int convertDomainNameToID (const char* const domainName); static const char* convertDomainIDToName (const int idDomain); static const char* convertDomainIDToTitle (const int idDomain); @@ -139,11 +142,12 @@ class SignalFilter { bool m_fail; std::string m_failMessage; - static const char* s_aszFilterName[]; - static const char* s_aszFilterTitle[]; + static const char* const s_aszFilterName[]; + static const char* const s_aszFilterTitle[]; static const int s_iFilterCount; - static const char* s_aszDomainName[]; - static const char* s_aszDomainTitle[]; + static const int s_iReconstructFilterCount; + static const char* const s_aszDomainName[]; + static const char* const s_aszDomainTitle[]; static const int s_iDomainCount; static int N_INTEGRAL;