X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tools%2Fphm2pj.cpp;h=2d0ba705c87c3c164dd83ab12f229e6a665dadc2;hb=9c1565fc3c878d175983e34299aa5c4a7f0bb77c;hp=f32f5c57cb7422c4273a6a940242dda9483464f6;hpb=c5e7140bd08b8c8f527713e8dc861bcb7ee5f633;p=ctsim.git diff --git a/tools/phm2pj.cpp b/tools/phm2pj.cpp index f32f5c5..2d0ba70 100644 --- a/tools/phm2pj.cpp +++ b/tools/phm2pj.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: phm2pj.cpp,v 1.24 2001/02/08 06:25:07 kevin Exp $ +** $Id: phm2pj.cpp,v 1.27 2001/02/19 20:23:17 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 @@ -51,7 +51,7 @@ static struct option phm2pj_options[] = {0, 0, 0, 0} }; -static const char* g_szIdStr = "$Id: phm2pj.cpp,v 1.24 2001/02/08 06:25:07 kevin Exp $"; +static const char* g_szIdStr = "$Id: phm2pj.cpp,v 1.27 2001/02/19 20:23:17 kevin Exp $"; void @@ -71,8 +71,8 @@ phm2pj_usage (const char *program) std::cout << " --phmfile Get Phantom from phantom file\n"; std::cout << " --desc Description of raysum\n"; std::cout << " --nray Number of rays per detector (default = 1)\n"; - std::cout << " --rotangle Degrees to rotate view through (multiple of PI)\n"; - std::cout << " (default = 1)\n"; + std::cout << " --rotangle Angle to rotate view through (fraction of a circle)\n"; + std::cout << " (default = select appropriate for geometry)\n"; std::cout << " --geometry Geometry of scanning\n"; std::cout << " parallel Parallel scan beams (default)\n"; std::cout << " equilinear Equilinear divergent scan beams\n"; @@ -112,13 +112,13 @@ phm2pj_main (int argc, char* const argv[]) int opt_ndet; int opt_nview; int opt_nray = 1; - double dOptFocalLength = 1.; + double dOptFocalLength = 2.; double dOptViewRatio = 1.; double dOptScanRatio = 1.; int opt_trace = Trace::TRACE_NONE; int opt_verbose = 0; int opt_debug = 0; - double opt_rotangle = 1; + double opt_rotangle = -1; char* endptr = NULL; char* endstr; @@ -251,6 +251,13 @@ phm2pj_main (int argc, char* const argv[]) return (1); } + if (opt_rotangle < 0) { + if (optGeometryName.compare ("parallel") == 0) + opt_rotangle = 0.5; + else + opt_rotangle = 1.0; + } + std::ostringstream desc; desc << "phm2pj: NDet=" << opt_ndet << ", Nview=" << opt_nview << ", NRay=" << opt_nray << ", RotAngle=" << opt_rotangle << ", Geometry=" << optGeometryName << ", "; if (optPhmFileName.length()) { @@ -304,7 +311,7 @@ phm2pj_main (int argc, char* const argv[]) phm.createFromPhantom (optPhmName.c_str()); #endif - opt_rotangle *= PI; + opt_rotangle *= TWOPI; Scanner scanner (phm, optGeometryName.c_str(), opt_ndet, opt_nview, opt_nray, opt_rotangle, dOptFocalLength, dOptViewRatio, dOptScanRatio); if (scanner.fail()) { std::cout << "Scanner Creation Error: " << scanner.failMessage() << std::endl;