** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: projections.cpp,v 1.19 2000/08/03 09:57:33 kevin Exp $
+** $Id: projections.cpp,v 1.20 2000/08/19 22:59:06 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
*/
bool
-Projections::reconstruct (ImageFile& im, const char* const filterName, double filt_param, const char* const filterMethodName, const int zeropad, const char* frequencyFilterName, const char* const interpName, int interpFactor, const char* const backprojectName, const int trace) const
+Projections::reconstruct (ImageFile& im, const char* const filterName, double filt_param, const char* const filterMethodName, const int zeropad, const char* filterGenerationName, const char* const interpName, int interpFactor, const char* const backprojectName, const int trace) const
{
double detInc = m_detInc;
int n_filteredProj = m_nDet * interpFactor;
#endif
double filterBW = 1. / detInc;
- SignalFilter filter (filterName, filterMethodName, filterBW, m_detInc, m_nDet, filt_param, "spatial", frequencyFilterName, zeropad, interpFactor);
- filter.setTraceLevel(trace);
+ ProcessSignal processSignal (filterName, filterMethodName, filterBW, m_detInc, m_nDet, filt_param, "spatial", filterGenerationName, zeropad, interpFactor);
+ processSignal.setTraceLevel(trace);
- if (filter.fail()) {
- sys_error (ERR_SEVERE, "%s [Projections::reconstruct]", filter.failMessage().c_str());
+ if (processSignal.fail()) {
+ sys_error (ERR_SEVERE, "%s [Projections::reconstruct]", processSignal.failMessage().c_str());
return false;
}
cout << "Reconstruct: filter="<<filterName<< ", interp="<<interpName<<", backproject="<<backprojectName<<endl;
#if HAVE_SGP
- int nVecFilter = filter.getNFilterPoints();
+ int nVecFilter = processSignal.getNFilterPoints();
double plot_xaxis [nVecFilter]; // array for plotting
if (trace > TRACE_TEXT && nVecFilter > 0) {
int i;
double f;
- double filterInc = filter.getFilterIncrement();
- for (i = 0, f = filter.getFilterMin(); i < nVecFilter; i++, f += filterInc)
+ double filterInc = processSignal.getFilterIncrement();
+ for (i = 0, f = processSignal.getFilterMin(); i < nVecFilter; i++, f += filterInc)
plot_xaxis[i] = f;
- if (filter.getFilter()) {
+ if (processSignal.getFilter()) {
SGPDriver sgpDriver ("Filter Function");
SGP sgp (sgpDriver);
EZPlot ezplot (sgp);
ezplot.ezset ("title Filter Response");
- ezplot.addCurve (plot_xaxis, filter.getFilter(), nVecFilter);
+ ezplot.addCurve (plot_xaxis, processSignal.getFilter(), nVecFilter);
ezplot.plot();
cio_put_str ("Press any key to continue");
cio_kb_getc ();
const DetectorArray& darray = getDetectorArray (iview);
const DetectorValue* detval = darray.detValues();
- filter.filterSignal (detval, filteredProj);
+ processSignal.filterSignal (detval, filteredProj);