r11859: Canonicalize whitespace
[ctsim.git] / tools / pj2if.cpp
index daf4028645935582082f623c2e097a1b79ba9302..bc39fdc7ade5ebf4776e4da0638a9fff889629ac 100644 (file)
@@ -9,7 +9,7 @@
 **  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$
 **
 **  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
@@ -26,7 +26,7 @@
 ******************************************************************************/
 
 /* FILE
- *   pj2if.c                   Convert Raysum to image
+ *   pj2if.c                    Convert Raysum to image
  *
  * DATE
  *   Apr 1999
 #include "timer.h"
 
 
-enum { O_VERBOSE, O_HELP, O_VERSION };
+enum { O_VERBOSE, O_HELP, O_VERSION, O_POLAR };
 
 static struct option my_options[] =
 {
+  {"polar", 0, 0, O_POLAR},
   {"verbose", 0, 0, O_VERBOSE},
   {"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$";
 
-void 
+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 imagefile\n";
+  std::cout << std::endl;
+  std::cout << "   --polar     Convert to polar format\n";
+  std::cout << "   --verbose   Verbose mode\n";
+  std::cout << "   --version   Print version\n";
+  std::cout << "   --help      Print this help message\n";
 }
 
-         
-
-int 
+int
 pj2if_main (const int argc, char *const argv[])
 {
   char *pj_name, *im_name;
@@ -73,30 +73,30 @@ pj2if_main (const int argc, char *const argv[])
     {
       int c = getopt_long (argc, argv, "", my_options, NULL);
       if (c == -1)
-       break;
-      
+        break;
+
       switch (c)
-       {
-       case O_VERBOSE:
-         optVerbose = true;
-         break;
+        {
+        case O_VERBOSE:
+          optVerbose = 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:
-       case '?':
-         pj2if_usage(argv[0]);
-         return (0);
-       default:
-         pj2if_usage(argv[0]);
-         return (1);
-       }
+          return (0);
+        case O_HELP:
+        case '?':
+          pj2if_usage(argv[0]);
+          return (0);
+        default:
+          pj2if_usage(argv[0]);
+          return (1);
+        }
     }
-  
+
   if (argc - optind != 2) {
     pj2if_usage(argv[0]);
     return (1);
@@ -111,15 +111,18 @@ pj2if_main (const int argc, char *const argv[])
     return (1);
   }
 
-  if (optVerbose)
-      pj.printScanInfo();
-  
+  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];
@@ -129,13 +132,13 @@ pj2if_main (const int argc, char *const argv[])
   im.labelAdd (pj.getLabel());
   im.labelAdd (Array2dFileLabel::L_HISTORY, "Conversion from .pj to .if", timerProgram.timerEnd());
   im.fileWrite (im_name);
-  
+
   return(0);
 }
 
 
 #ifndef NO_MAIN
-int 
+int
 main (const int argc, char *const argv[])
 {
   int retval = 1;
@@ -143,9 +146,9 @@ main (const int argc, char *const argv[])
   try {
     retval = pj2if_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);