** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: pj2if.cpp,v 1.2 2000/08/02 18:09:11 kevin Exp $
+** $Id: pj2if.cpp,v 1.6 2000/12/16 07:28:25 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
#include "timer.h"
-enum { O_VERBOSE, O_HELP, O_VERSION };
+enum { O_VERBOSE, O_DUMP, O_HELP, O_VERSION };
static struct option my_options[] =
{
{"verbose", 0, 0, O_VERBOSE},
+ {"dump", 0, 0, O_DUMP},
{"help", 0, 0, O_HELP},
{"version", 0, 0, O_VERSION},
{0, 0, 0, 0}
};
-static const char* g_szIdStr = "$id$";
+static const char* g_szIdStr = "$Id: pj2if.cpp,v 1.6 2000/12/16 07:28:25 kevin Exp $";
void
pj2if_usage (const char *program)
{
- cout << "usage: " << fileBasename(program) << " in-proj-file out-if-file [OPTIONS]" << endl;
- cout << "Converts a projection file to a IF file" << endl;
- cout << endl;
- cout << " --verbose Verbose mode" << endl;
- cout << " --version Print version" << endl;
- cout << " --help Print this help message" << endl;
+ std::cout << "usage: " << fileBasename(program) << " in-proj-file out-if-file [OPTIONS]\n";
+ std::cout << "Converts a projection file to a IF file\n";
+ std::cout << std::endl;
+ std::cout << " --verbose Verbose mode\n";
+ std::cout << " --dump Dump all scan data\n";
+ std::cout << " --version Print version\n";
+ std::cout << " --help Print this help message\n";
}
{
char *pj_name, *im_name;
bool optVerbose = false;
+ bool optDump = false;
extern int optind;
Timer timerProgram;
case O_VERBOSE:
optVerbose = true;
break;
+ case O_DUMP:
+ optDump = true;
+ break;
case O_VERSION:
#ifdef VERSION
- cout << "Version " << VERSION << endl;
+ std::cout << "Version " << VERSION << std::endl << g_szIdStr << std::endl;
#else
- cout << "Unknown version number" << endl;
+ std::cout << "Unknown version number\n";
#endif
return (0);
case O_HELP:
return (1);
}
- if (optVerbose)
- pj.printScanInfo();
+ if (optDump)
+ pj.printProjectionData();
+ else if (optVerbose) {
+ std::ostringstream os;
+ pj.printScanInfo (os);
+ std::cout << os.str();
+ }
ImageFile im (pj.nDet(), pj.nView());
ImageFileArray v = im.getArray();
for (int iy = 0; iy < pj.nView(); iy++) {
- const DetectorArray& detarray = pj.getDetectorArray (iy);
+ const DetectorArray& detarray = pj.getDetectorArray (pj.nView() - iy - 1);
const DetectorValue* detval = detarray.detValues();
for (int ix = 0; ix < pj.nDet(); ix++) {
v[ix][iy] = detval[ix];
try {
retval = pj2if_main(argc, argv);
} catch (exception e) {
- cerr << "Exception: " << e.what() << endl;
+ cerr << "Exception: " << e.what() << std::endl;
} catch (...) {
- cerr << "Unknown exception" << endl;
+ cerr << "Unknown exception\n";
}
return (retval);