X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tools%2Fpjrec.cpp;h=abf25ca89e6dbaf505bf1cf80f50547925ab0f9e;hb=6b3ed4969c5a651aae71391127310ee797ecce6b;hp=dc004844a5e4157e68c251ec30842ea3f3f92bc1;hpb=1fd4f7cc977b9f1499716de10d15656bd50f4816;p=ctsim.git diff --git a/tools/pjrec.cpp b/tools/pjrec.cpp index dc00484..abf25ca 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.1 2000/07/13 07:01:35 kevin Exp $ +** $Id: pjrec.cpp,v 1.7 2000/08/02 18:09:11 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 @@ -48,6 +48,7 @@ static struct option my_options[] = {0, 0, 0, 0} }; +static const char* g_szIdStr = "$id$"; void pjrec_usage (const char *program) @@ -89,6 +90,9 @@ pjrec_usage (const char *program) #endif 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 << " --backproj Backprojection Method" << endl; cout << " trig Trigometric functions at every point" << endl; cout << " table Trigometric functions with precalculated table" << endl; @@ -131,11 +135,10 @@ pjrec_main (int argc, char * argv[]) int optZeroPad = 0; int optTrace = TRACE_NONE; double optFilterParam = -1; - string optFilterName = SignalFilter::FILTER_ABS_BANDLIMIT_STR; - string optFilterMethodName = SignalFilter::FILTER_METHOD_CONVOLUTION_STR; - string optInterpName = Backprojector::INTERP_LINEAR_STR; - string optBackprojName = Backprojector::BPROJ_IDIFF2_STR; - // string optFilterMethodName = SignalFilter::FILTER_METHOD_CONVOLUTION_STR; + string optFilterName (SignalFilter::convertFilterIDToName (SignalFilter::FILTER_ABS_BANDLIMIT)); + string optFilterMethodName (SignalFilter::convertFilterMethodIDToName (SignalFilter::FILTER_METHOD_CONVOLUTION)); + string optInterpName (Backprojector::convertInterpIDToName (Backprojector::INTERP_LINEAR)); + string optBackprojName (Backprojector::convertBackprojectIDToName (Backprojector::BPROJ_IDIFF3)); int optPreinterpolationFactor = 1; int nx, ny; #ifdef HAVE_MPI @@ -199,7 +202,7 @@ pjrec_main (int argc, char * argv[]) optDebug = 1; break; case O_TRACE: - if ((optTrace = convertTraceNameToID(optarg)) == TRACE_INVALID) { + if ((optTrace = TraceLevel::convertTraceNameToID(optarg)) == TRACE_INVALID) { pjrec_usage(argv[0]); return (1); } @@ -240,7 +243,7 @@ pjrec_main (int argc, char * argv[]) filterDesc << optFilterName; ostringstream label; - label << "pjrec: " << nx << "x" << ny << ", " << filterDesc.str() << ", " << optInterpName << ", preinterpolation=" << optPreinterpolationFactor << ", " << optBackprojName; + label << "pjrec: " << nx << "x" << ny << ", " << filterDesc.str() << ", " << optInterpName << ", preinterpolationFactor=" << optPreinterpolationFactor << ", " << optBackprojName; remark = label.str(); if (optVerbose)