** Date Started: April 2000
**
** This is part of the CTSim program
-** Copyright (C) 1983-2000 Kevin Rosenberg
-**
-** $Id: pjinfo.cpp,v 1.2 2000/12/16 02:31:00 kevin Exp $
+** Copyright (C) 1983-2009 Kevin Rosenberg
**
** 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
******************************************************************************/
/* FILE
- * pjinfo.c Convert Raysum to image
- *
- * DATE
- * August 2000
- */
+* pjinfo.c Convert Raysum to image
+*
+* DATE
+* August 2000
+*/
#include "ct.h"
#include "timer.h"
{0, 0, 0, 0}
};
-static const char* g_szIdStr = "$Id: pjinfo.cpp,v 1.2 2000/12/16 02:31:00 kevin Exp $";
+static const char* g_szIdStr = "$Id$";
-void
+void
pjinfo_usage (const char *program)
{
- cout << "usage: " << fileBasename(program) << " proj-file [OPTIONS]" << endl;
- cout << "Display projection file information" << endl;
- cout << "\n";
- cout << " --binaryheader Dump binary header data\n";
- cout << " --binaryviews Dump binary view data\n";
- cout << " --startview n Beginning view number to display (default=0)\n";
- cout << " --endview n Ending view number to display (default=last view)\n";
- cout << " --dump Print all scan data ASCII format\n";
- cout << " --version Print version" << endl;
- cout << " --help Print this help message" << endl;
+ std::cout << "usage: " << fileBasename(program) << " proj-file [OPTIONS]\n";
+ std::cout << "Display projection file information\n";
+ std::cout << "\n";
+ std::cout << " --binaryheader Dump binary header data\n";
+ std::cout << " --binaryviews Dump binary view data\n";
+ std::cout << " --startview n Beginning view number to display (default=0)\n";
+ std::cout << " --endview n Ending view number to display (default=last view)\n";
+ std::cout << " --dump Print all scan data ASCII format\n";
+ std::cout << " --version Print version\n";
+ std::cout << " --help Print this help message\n";
}
-
-int
+
+int
pjinfo_main (const int argc, char *const argv[])
{
- string pj_name;
+ std::string pj_name;
bool optDump = false;
bool optBinaryHeader = false;
bool optBinaryViews = false;
extern int optind;
while (1)
+ {
+ char *endptr, *endstr;
+ int c = getopt_long (argc, argv, "", my_options, NULL);
+ if (c == -1)
+ break;
+
+ switch (c)
{
- char *endptr, *endstr;
- int c = getopt_long (argc, argv, "", my_options, NULL);
- if (c == -1)
- break;
-
- switch (c)
- {
- case O_DUMP:
- optDump = true;
- break;
- case O_BINARYHEADER:
- optBinaryHeader = true;
- break;
- case O_BINARYVIEWS:
- optBinaryViews = true;
- break;
- case O_STARTVIEW:
- optStartView = strtol(optarg, &endptr, 10);
- endstr = optarg + strlen(optarg);
- if (endptr != endstr) {
- cerr << "Error setting --startview to %s" << optarg << endl;
- pjinfo_usage(argv[0]);
- return (1);
- }
- break;
- case O_ENDVIEW:
- optEndView = strtol(optarg, &endptr, 10);
- endstr = optarg + strlen(optarg);
- if (endptr != endstr) {
- cerr << "Error setting --endview to %s" << optarg << endl;
- pjinfo_usage(argv[0]);
- return (1);
- }
- break;
- case O_VERSION:
+ case O_DUMP:
+ optDump = true;
+ break;
+ case O_BINARYHEADER:
+ optBinaryHeader = true;
+ break;
+ case O_BINARYVIEWS:
+ optBinaryViews = true;
+ break;
+ case O_STARTVIEW:
+ optStartView = strtol(optarg, &endptr, 10);
+ endstr = optarg + strlen(optarg);
+ if (endptr != endstr) {
+ std::cerr << "Error setting --startview to %s" << optarg << std::endl;
+ pjinfo_usage(argv[0]);
+ return (1);
+ }
+ break;
+ case O_ENDVIEW:
+ optEndView = strtol(optarg, &endptr, 10);
+ endstr = optarg + strlen(optarg);
+ if (endptr != endstr) {
+ std::cerr << "Error setting --endview to %s" << optarg << std::endl;
+ pjinfo_usage(argv[0]);
+ return (1);
+ }
+ break;
+ case O_VERSION:
#ifdef VERSION
- cout << "Version " << VERSION << endl << g_szIdStr << 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:
- case '?':
- pjinfo_usage(argv[0]);
- return (0);
- default:
- pjinfo_usage(argv[0]);
- return (1);
- }
+ return (0);
+ case O_HELP:
+ case '?':
+ pjinfo_usage(argv[0]);
+ return (0);
+ default:
+ pjinfo_usage(argv[0]);
+ return (1);
}
-
+ }
+
if (argc - optind != 1) {
pjinfo_usage(argv[0]);
return (1);
pj_name = argv[optind];
if (optBinaryHeader)
- Projections::copyHeader (pj_name, cout);
+ Projections::copyHeader (pj_name, std::cout);
else if (optBinaryViews)
- Projections::copyViewData (pj_name, cout, optStartView, optEndView);
+ Projections::copyViewData (pj_name, std::cout, optStartView, optEndView);
else {
Projections pj;
if (! pj.read (pj_name)) {
if (optDump) {
pj.printProjectionData (optStartView, optEndView);
} else {
- ostringstream os;
+ std::ostringstream os;
pj.printScanInfo (os);
- cout << os.str();
+ std::cout << os.str();
}
}
-
+
return(0);
}
#ifndef NO_MAIN
-int
+int
main (const int argc, char *const argv[])
{
int retval = 1;
try {
retval = pjinfo_main(argc, argv);
} catch (exception e) {
- cerr << "Exception: " << e.what() << endl;
+ std::cerr << "Exception: " << e.what() << std::endl;
} catch (...) {
- cerr << "Unknown exception" << endl;
+ std::cerr << "Unknown exception\n";
}
return (retval);