** 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.5 2000/11/22 07:17:06 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.5 2000/11/22 07:17:06 kevin Exp $";
void
pj2if_usage (const char *program)
cout << "Converts a projection file to a IF file" << endl;
cout << endl;
cout << " --verbose Verbose mode" << endl;
+ cout << " --dump Dump all scan data" << endl;
cout << " --version Print version" << endl;
cout << " --help Print this help message" << endl;
}
{
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;
+ cout << "Version " << VERSION << endl << g_szIdStr << endl;
#else
cout << "Unknown version number" << endl;
#endif
return (1);
}
- if (optVerbose)
- pj.printScanInfo();
+ if (optDump)
+ pj.printProjectionData();
+ else if (optVerbose) {
+ ostringstream os;
+ pj.printScanInfo (os);
+ 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];