Interim work on creating projections from an imagefile
[ctsim.git] / tools / phm2helix.cpp
index 1af94b3d313f451f6996b2c4a5d1ad30ad83e2ae..5ead089814673a9678415ae5f1ca5648411925a2 100644 (file)
@@ -3,13 +3,11 @@
 **
 **   Name:          phm2helix.cpp
 **   Purpose:       Take projections of a phantom object
-**   Programmer:    Ian Kay
+**   Programmers:   Ian Kay and Kevin Rosenberg
 **   Date Started:  Aug 2001
 **
 **  This is part of the CTSim program
-**  Copyright (C) 1983-2000 Kevin Rosenberg
-**
-**  $Id$
+**  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
@@ -80,7 +78,7 @@ phm2helix_usage (const char *program)
           std::cout << "                      (default = 1)\n";
           std::cout << "     --scan-ratio     Length to scan (scan diameter to view diameter)\n";
           std::cout << "                      (default = 1)\n";
-          std::cout << "     --offsetview      Intial gantry offset in  'views' (default = 0)\n";
+          std::cout << "     --offsetview     Initial gantry offset in 'views' (default = 0)\n";
           std::cout << "     --trace          Trace level to use\n";
           std::cout << "        none          No tracing (default)\n";
           std::cout << "        console       Trace text level\n";
@@ -283,7 +281,7 @@ phm2helix_main (int argc, char* const argv[])
           if (stat != 0 )
                         std::cerr << "Error executing external phantom program " << opt_PhmProg << " with command " << extcommand << std::endl;
 
-          phm.createFromFile (opt_PhmFileName.c_str());
+          phm.createFromPhmFile (opt_PhmFileName.c_str());
           remove(opt_PhmFileName.c_str());
 
           Scanner scanner (phm, optGeometryName.c_str(), opt_ndet, opt_nview,
@@ -303,13 +301,15 @@ phm2helix_main (int argc, char* const argv[])
                         std::cout  <<  opt_PhmProg  <<  " " << iView << " " <<  opt_nview << " " << opt_PhmFileName  << std::endl;
            //extcommand <<  opt_PhmProg  <<  " " << iView << " " <<  opt_nview << " " << opt_PhmFileName ;
 
-                        sprintf(extcommand, "%s %d %d %s",      opt_PhmProg.c_str(), iView, opt_nview, opt_PhmFileName.c_str() );
+                sprintf(extcommand, "%s %d %d %s",      
+                        opt_PhmProg.c_str(), iView, opt_nview, 
+                        opt_PhmFileName.c_str() );
                 stat = system( extcommand );
 
                 if (stat != 0 )
                         std::cerr << "Error executing external phantom program " << opt_PhmProg << " with command " << extcommand << std::endl;
                 Phantom phmtmp;
-                phmtmp.createFromFile (opt_PhmFileName.c_str());
+                phmtmp.createFromPhmFile (opt_PhmFileName.c_str());
 
                 scanner.collectProjections (pjGlobal, phmtmp, iView,
                           1, scanner.offsetView(), true, opt_trace);
@@ -318,18 +318,18 @@ phm2helix_main (int argc, char* const argv[])
 
 
           pjGlobal.setCalcTime (timerProgram.timerEnd());
-                pjGlobal.setRemark (opt_desc);
-                pjGlobal.write (opt_outfile);
-                if (opt_verbose) {
-                  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";
+          pjGlobal.setRemark (opt_desc);
+          pjGlobal.write (opt_outfile);
+          if (opt_verbose) {
+            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";
           }
-
+          
           return (0);
 }