From bd3ff8cf33195aa27dbd82e16b2f2c8eb8780cf9 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Thu, 3 Aug 2000 09:53:09 +0000 Subject: [PATCH] r173: *** empty log message *** --- tools/pjrec.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/tools/pjrec.cpp b/tools/pjrec.cpp index abf25ca..496ace5 100644 --- a/tools/pjrec.cpp +++ b/tools/pjrec.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: pjrec.cpp,v 1.7 2000/08/02 18:09:11 kevin Exp $ +** $Id: pjrec.cpp,v 1.8 2000/08/03 09:53:09 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 @@ -29,7 +29,7 @@ #include "timer.h" -enum {O_INTERP, O_FILTER, O_FILTER_METHOD, O_ZEROPAD, O_FILTER_PARAM, O_BACKPROJ, O_PREINTERPOLATION_FACTOR, O_VERBOSE, O_TRACE, O_HELP, O_DEBUG, O_VERSION}; +enum {O_INTERP, O_FILTER, O_FILTER_METHOD, O_ZEROPAD, O_FILTER_PARAM, O_FREQUENCY_FILTER, O_BACKPROJ, O_PREINTERPOLATION_FACTOR, O_VERBOSE, O_TRACE, O_HELP, O_DEBUG, O_VERSION}; static struct option my_options[] = { @@ -38,6 +38,7 @@ static struct option my_options[] = {"filter", 1, 0, O_FILTER}, {"filter-method", 1, 0, O_FILTER_METHOD}, {"zeropad", 1, 0, O_ZEROPAD}, + {"frequency-filter", 1, 0, O_FREQUENCY_FILTER}, {"filter-param", 1, 0, O_FILTER_PARAM}, {"backproj", 1, 0, O_BACKPROJ}, {"trace", 1, 0, O_TRACE}, @@ -91,8 +92,8 @@ pjrec_usage (const char *program) cout << " --zeropad n Set zeropad level (default = 0)\n"; cout << " set n to number of powers to two to pad\n"; cout << " --frequency-filter Set type of frequency filter\n"; - cout << " direct Use direct frequency filter\n"; - cout << " ifourier Use inverse fourier transform of spatial filter\n"; + cout << " direct_frequency Use direct frequency filter\n"; + cout << " inverse_spatial Use inverse fourier transform of spatial filter\n"; cout << " --backproj Backprojection Method" << endl; cout << " trig Trigometric functions at every point" << endl; cout << " table Trigometric functions with precalculated table" << endl; @@ -137,6 +138,7 @@ pjrec_main (int argc, char * argv[]) double optFilterParam = -1; string optFilterName (SignalFilter::convertFilterIDToName (SignalFilter::FILTER_ABS_BANDLIMIT)); string optFilterMethodName (SignalFilter::convertFilterMethodIDToName (SignalFilter::FILTER_METHOD_CONVOLUTION)); + string optFrequencyFilterName (SignalFilter::convertFrequencyFilterIDToName (SignalFilter::FREQUENCY_FILTER_INVERSE_SPATIAL)); string optInterpName (Backprojector::convertInterpIDToName (Backprojector::INTERP_LINEAR)); string optBackprojName (Backprojector::convertBackprojectIDToName (Backprojector::BPROJ_IDIFF3)); int optPreinterpolationFactor = 1; @@ -178,8 +180,8 @@ pjrec_main (int argc, char * argv[]) case O_FILTER_METHOD: optFilterMethodName = optarg; break; - case O_BACKPROJ: - optBackprojName = optarg; + case O_FREQUENCY_FILTER: + optFrequencyFilterName = optarg; break; case O_FILTER_PARAM: optFilterParam = strtod(optarg, &endptr); @@ -195,6 +197,9 @@ pjrec_main (int argc, char * argv[]) return(1); } break; + case O_BACKPROJ: + optBackprojName = optarg; + break; case O_VERBOSE: optVerbose = 1; break; @@ -209,7 +214,7 @@ pjrec_main (int argc, char * argv[]) break; case O_VERSION: #ifdef VERSION - cout << "Version " << VERSION << endl; + cout << "Version " << VERSION << endl << "Id " << g_szIdStr << endl; #else cout << "Unknown version number" << endl; #endif @@ -313,7 +318,7 @@ pjrec_main (int argc, char * argv[]) #ifdef HAVE_MPI TimerCollectiveMPI timerReconstruct (mpiWorld.getComm()); - projLocal.reconstruct (*imLocal, optFilterName.c_str(), optFilterParam, optFilterMethodName.c_str(), optZeroPad, optInterpName.c_str(), optPreinterpolationFactor, optBackprojName.c_str(), optTrace); + projLocal.reconstruct (*imLocal, optFilterName.c_str(), optFilterParam, optFilterMethodName.c_str(), optZeroPad, optFrequencyFilterName.c_str(), optInterpName.c_str(), optPreinterpolationFactor, optBackprojName.c_str(), optTrace); if (optVerbose) timerReconstruct.timerEndAndReport ("Time to reconstruct"); @@ -322,7 +327,7 @@ pjrec_main (int argc, char * argv[]) if (optVerbose) timerReduce.timerEndAndReport ("Time to reduce image"); #else - projGlobal.reconstruct (*imGlobal, optFilterName.c_str(), optFilterParam, optFilterMethodName.c_str(), optZeroPad, optInterpName.c_str(), optPreinterpolationFactor, optBackprojName.c_str(), optTrace); + projGlobal.reconstruct (*imGlobal, optFilterName.c_str(), optFilterParam, optFilterMethodName.c_str(), optZeroPad, optFrequencyFilterName.c_str(), optInterpName.c_str(), optPreinterpolationFactor, optBackprojName.c_str(), optTrace); #endif #ifdef HAVE_MPI -- 2.34.1