projects
/
ctsim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
04d5009
)
r173: *** empty log message ***
author
Kevin M. Rosenberg
<kevin@rosenberg.net>
Thu, 3 Aug 2000 09:53:09 +0000
(09:53 +0000)
committer
Kevin M. Rosenberg
<kevin@rosenberg.net>
Thu, 3 Aug 2000 09:53:09 +0000
(09:53 +0000)
tools/pjrec.cpp
patch
|
blob
|
history
diff --git
a/tools/pjrec.cpp
b/tools/pjrec.cpp
index abf25ca89e6dbaf505bf1cf80f50547925ab0f9e..496ace5c93e4f6cc1e16afa4cdcb92e62fe0b219 100644
(file)
--- 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
**
** 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
**
** 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"
#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[] =
{
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},
{"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},
{"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 << " --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 << " i
fourier
Use inverse fourier transform of spatial filter\n";
+ cout << " direct
_frequency
Use direct frequency filter\n";
+ cout << " i
nverse_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;
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));
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;
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_FILTER_METHOD:
optFilterMethodName = optarg;
break;
- case O_
BACKPROJ
:
- opt
Backproj
Name = optarg;
+ case O_
FREQUENCY_FILTER
:
+ opt
FrequencyFilter
Name = optarg;
break;
case O_FILTER_PARAM:
optFilterParam = strtod(optarg, &endptr);
break;
case O_FILTER_PARAM:
optFilterParam = strtod(optarg, &endptr);
@@
-195,6
+197,9
@@
pjrec_main (int argc, char * argv[])
return(1);
}
break;
return(1);
}
break;
+ case O_BACKPROJ:
+ optBackprojName = optarg;
+ break;
case O_VERBOSE:
optVerbose = 1;
break;
case O_VERBOSE:
optVerbose = 1;
break;
@@
-209,7
+214,7
@@
pjrec_main (int argc, char * argv[])
break;
case O_VERSION:
#ifdef VERSION
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
#else
cout << "Unknown version number" << endl;
#endif
@@
-313,7
+318,7
@@
pjrec_main (int argc, char * argv[])
#ifdef HAVE_MPI
TimerCollectiveMPI timerReconstruct (mpiWorld.getComm());
#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, opt
FrequencyFilterName.c_str(), opt
InterpName.c_str(), optPreinterpolationFactor, optBackprojName.c_str(), optTrace);
if (optVerbose)
timerReconstruct.timerEndAndReport ("Time to reconstruct");
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
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, opt
FrequencyFilterName.c_str(), opt
InterpName.c_str(), optPreinterpolationFactor, optBackprojName.c_str(), optTrace);
#endif
#ifdef HAVE_MPI
#endif
#ifdef HAVE_MPI