** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: phm2pj.cpp,v 1.18 2000/12/17 23:30:48 kevin Exp $
+** $Id: phm2pj.cpp,v 1.23 2001/01/17 06:25:15 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
{0, 0, 0, 0}
};
-static const char* g_szIdStr = "$Id: phm2pj.cpp,v 1.18 2000/12/17 23:30:48 kevin Exp $";
+static const char* g_szIdStr = "$Id: phm2pj.cpp,v 1.23 2001/01/17 06:25:15 kevin Exp $";
void
#endif
int
-phm2pj_main (int argc, char* argv[])
+phm2pj_main (int argc, char* const argv[])
{
Phantom phm;
std::string optGeometryName = Scanner::convertGeometryIDToName(Scanner::GEOMETRY_PARALLEL);
opt_rotangle = strtod(optarg, &endptr);
endstr = optarg + strlen(optarg);
if (endptr != endstr) {
- std::cerr << "Error setting --rotangle to " << optarg << endl;
+ std::cerr << "Error setting --rotangle to " << optarg << std::endl;
phm2pj_usage(argv[0]);
return (1);
}
dOptFocalLength = strtod(optarg, &endptr);
endstr = optarg + strlen(optarg);
if (endptr != endstr) {
- std::cerr << "Error setting --focal-length to " << optarg << endl;
+ std::cerr << "Error setting --focal-length to " << optarg << std::endl;
phm2pj_usage(argv[0]);
return (1);
}
dOptFieldOfView = strtod(optarg, &endptr);
endstr = optarg + strlen(optarg);
if (endptr != endstr) {
- std::cerr << "Error setting --field-of-view to " << optarg << endl;
+ std::cerr << "Error setting --field-of-view to " << optarg << std::endl;
phm2pj_usage(argv[0]);
return (1);
}
opt_nray = strtol(optarg, &endptr, 10);
endstr = optarg + strlen(optarg);
if (endptr != endstr) {
- std::cerr << "Error setting --nray to %s" << optarg << endl;
+ std::cerr << "Error setting --nray to %s" << optarg << std::endl;
phm2pj_usage(argv[0]);
return (1);
}
break;
case O_VERSION:
#ifdef VERSION
- std::cout << "Version: " << VERSION << endl << g_szIdStr << endl;
+ std::cout << "Version: " << VERSION << std::endl << g_szIdStr << std::endl;
#else
std::cout << "Unknown version number\n";
#endif
}
if (optPhmName == "" && optPhmFileName == "") {
- std::cerr << "No phantom defined\n" << endl;
+ std::cerr << "No phantom defined\n" << std::endl;
phm2pj_usage(argv[0]);
return (1);
}
opt_ndet = strtol(argv[optind+1], &endptr, 10);
endstr = argv[optind+1] + strlen(argv[optind+1]);
if (endptr != endstr) {
- std::cerr << "Error setting --ndet to " << argv[optind+1] << endl;
+ std::cerr << "Error setting --ndet to " << argv[optind+1] << std::endl;
phm2pj_usage(argv[0]);
return (1);
}
opt_nview = strtol(argv[optind+2], &endptr, 10);
endstr = argv[optind+2] + strlen(argv[optind+2]);
if (endptr != endstr) {
- std::cerr << "Error setting --nview to " << argv[optind+2] << endl;
+ std::cerr << "Error setting --nview to " << argv[optind+2] << std::endl;
phm2pj_usage(argv[0]);
return (1);
}
if (optPhmName != "") {
phm.createFromPhantom (optPhmName.c_str());
if (phm.fail()) {
- std::cout << phm.failMessage() << endl << endl;
+ std::cout << phm.failMessage() << std::endl << std::endl;
phm2pj_usage(argv[0]);
return (1);
}
mpiWorld.getComm().Bcast (&opt_verbose, 1, MPI::INT, 0);
mpiWorld.getComm().Bcast (&opt_debug, 1, MPI::INT, 0);
mpiWorld.getComm().Bcast (&opt_trace, 1, MPI::INT, 0);
- timerBcast.timerEndAndReport ("Time to broadcast variables");
+ if (opt_verbose)
+ timerBcast.timerEndAndReport ("Time to broadcast variables");
if (mpiWorld.getRank() > 0 && optPhmName != "")
phm.createFromPhantom (optPhmName.c_str());
opt_rotangle *= PI;
Scanner scanner (phm, optGeometryName.c_str(), opt_ndet, opt_nview, opt_nray, opt_rotangle, dOptFocalLength, dOptFieldOfView);
if (scanner.fail()) {
- std::cout << "Scanner Creation Error: " << scanner.failMessage() << endl;
+ std::cout << "Scanner Creation Error: " << scanner.failMessage() << std::endl;
return (1);
}
#ifdef HAVE_MPI
#else
Projections pjGlobal (scanner);
-#if HAVE_SGP
- SGPDriver* pSGPDriver = NULL;
- SGP* pSGP = NULL;
- if (opt_trace >= Trace::TRACE_PHANTOM) {
- pSGPDriver = new SGPDriver ("phm2pj", 600, 600);
- pSGP = new SGP (*pSGPDriver);
- }
- scanner.collectProjections (pjGlobal, phm, opt_trace, pSGP);
- if (opt_trace >= Trace::TRACE_PHANTOM) {
- std::cout << "Press enter to continue\n";
- cio_kb_getc();
- delete pSGP; pSGP = NULL;
- delete pSGPDriver; pSGPDriver = NULL;
- }
-
-#else
scanner.collectProjections (pjGlobal, phm, opt_trace);
#endif
-
-#endif
#ifdef HAVE_MPI
if (mpiWorld.getRank() == 0)
pjGlobal.setRemark (opt_desc);
pjGlobal.write (opt_outfile);
if (opt_verbose) {
- phm.print();
- std::cout << endl;
- ostringstream os;
- pjGlobal.printScanInfo (os);
- std::cout << os.str() << endl;
- std::cout << " Remark: " << pjGlobal.remark() << endl;
- std::cout << "Run time: " << pjGlobal.calcTime() << " seconds\n";
+ phm.print (std::cout);
+ std::cout << std::endl;
+ std::ostringstream os;
+ pjGlobal.printScanInfo (os);
+ std::cout << os.str() << std::endl;
+ std::cout << " Remark: " << pjGlobal.remark() << std::endl;
+ std::cout << "Run time: " << pjGlobal.calcTime() << " seconds\n";
}
}
// dmalloc_shutdown();
#endif
} catch (exception e) {
- std::cerr << "Exception: " << e.what() << endl;
+ std::cerr << "Exception: " << e.what() << std::endl;
} catch (...) {
std::cerr << "Unknown exception\n";
}