X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsim%2Ffilter.cpp;h=f4a10f3186dbbeb6da08a3fbdc810ee11a4b8e27;hp=5a4b0ef5fdccb6889b8b5012fb11a474c9f93630;hb=d3fa225aa232e132cc198672c4fc148f96a1ab8c;hpb=806adf54f5b8d061662696b3b498bfab3cd8b2e6 diff --git a/libctsim/filter.cpp b/libctsim/filter.cpp index 5a4b0ef..f4a10f3 100644 --- a/libctsim/filter.cpp +++ b/libctsim/filter.cpp @@ -7,9 +7,9 @@ ** Date Started: Aug 1984 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2000 Kevin Rosenberg ** -** $Id: filter.cpp,v 1.32 2000/12/04 19:50:57 kevin Exp $ +** $Id: filter.cpp,v 1.36 2001/02/11 04:56:37 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 @@ -30,7 +30,7 @@ int SignalFilter::N_INTEGRAL=500; //static member const int SignalFilter::FILTER_INVALID = -1 ; -const int SignalFilter::FILTER_ABS_BANDLIMIT = 0; // filter times |x = | +const int SignalFilter::FILTER_ABS_BANDLIMIT = 0; // filter times |x| const int SignalFilter::FILTER_ABS_G_HAMMING = 1; const int SignalFilter::FILTER_ABS_COSINE = 2; const int SignalFilter::FILTER_ABS_SINC = 3; @@ -41,6 +41,8 @@ const int SignalFilter::FILTER_G_HAMMING = 7; const int SignalFilter::FILTER_COSINE = 8; const int SignalFilter::FILTER_TRIANGLE = 9; +const int SignalFilter::s_iReconstructFilterCount = 5; + const char* SignalFilter::s_aszFilterName[] = { {"abs_bandlimit"}, {"abs_hamming"}, @@ -369,7 +371,7 @@ SignalFilter::spatialResponseCalc (int filterID, double bw, double x, double par q[i] = frequencyResponse (filterID, bw, z, param) * cos (TWOPI * z * x); double y = 2 * integrateSimpson (zmin, zmax, q, n); - delete q; + delete q; return (y); } @@ -559,30 +561,21 @@ SignalFilter::spatialResponseAnalytic (int filterID, double bw, double x, double } -/* NAME - * sinc Return sin(x)/x function - * - * SYNOPSIS - * v = sinc (x, mult) - * double v sinc value - * double x, mult - * - * DESCRIPTION - * v = sin(x * mult) / x; - */ +// Functions that are inline in filter.h + + +// sinc Return sin(x)/x function +// v = sinc (x, mult) +// Calculates sin(x * mult) / x; + +// integral_abscos Returns integral of u*cos(u) +// +// q = integral_abscos (u, w) +// double q Integral value +// double u Integration variable +// double w Upper integration boundary +// Returns the value of integral of u*cos(u)*dV for V = 0 to w -/* NAME - * integral_abscos Returns integral of u*cos(u) - * - * SYNOPSIS - * q = integral_abscos (u, w) - * double q Integral value - * double u Integration variable - * double w Upper integration boundary - * - * DESCRIPTION - * Returns the value of integral of u*cos(u)*dV for V = 0 to w - */