r557: no message
[ctsim.git] / libctsim / reconstruct.cpp
index e80cc4f26d37ade26d0bd27ef0d37a89aab0b736..7bc6a833c6b39b873c3711315f25bcf93ccf6411 100644 (file)
@@ -8,7 +8,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: reconstruct.cpp,v 1.12 2001/02/11 04:56:37 kevin Exp $
+**  $Id: reconstruct.cpp,v 1.13 2001/02/20 04:48:45 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
@@ -91,7 +91,7 @@ Reconstructor::Reconstructor (const Projections& rProj, ImageFile& rIF, const ch
     return;
   }
 
-#if HAVE_SGP
+#ifdef HAVE_SGP
   m_adPlotXAxis = new double [m_rProj.nDet()];
   double x = - ((m_rProj.nDet() - 1) / 2) * m_rProj.detInc();
   double xInc = m_rProj.detInc();
@@ -112,7 +112,7 @@ Reconstructor::~Reconstructor ()
 void
 Reconstructor::plotFilter (SGP* pSGP)
 {
-#if HAVE_SGP
+#ifdef HAVE_SGP
   int nVecFilter = m_pProcessSignal->getNFilterPoints();
   double* adPlotXAxis = new double [nVecFilter];
 
@@ -183,35 +183,45 @@ Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP, bool
       osXLength << "xlength " << dGraphWidth;
 
       ezplotProj.ezset ("clear");
-      ezplotProj.ezset ("title Filtered Projection");
+      ezplotProj.ezset ("title Raw Projection");
       ezplotProj.ezset ("xticks major 5");
+      ezplotProj.ezset ("yticks major 5");
       ezplotProj.ezset ("xlabel ");
       ezplotProj.ezset ("ylabel ");
-      ezplotProj.ezset ("yticks major 5");
-      ezplotProj.ezset ("yporigin 0.10");
+      ezplotProj.ezset ("yporigin 0.55");
       ezplotProj.ezset ("ylength 0.45");
       ezplotProj.ezset (osXLength.str().c_str());
-      ezplotProj.ezset ("box");
-      ezplotProj.ezset ("grid");
-      ezplotProj.addCurve (m_adPlotXAxis, adFilteredProj,  m_nFilteredProjections);
+      ezplotProj.ezset ("box.");
+      ezplotProj.ezset ("grid.");
+#if 0  // workaround c++ optimizer bug, now disabled by using /O1 in code
+      double* pdDetval = new double [m_rProj.nDet()];
+      for (unsigned int id = 0; id < m_rProj.nDet(); id++) {
+        pdDetval[id] = detval[id];
+      }
+      ezplotProj.addCurve (m_adPlotXAxis, pdDetval, m_rProj.nDet());
+      delete pdDetval;
+#else
+      ezplotProj.addCurve (m_adPlotXAxis, detval, m_rProj.nDet());
+#endif
       pSGP->setTextPointSize (12);
       ezplotProj.plot (pSGP);
 
       ezplotProj.ezset ("clear");
-      ezplotProj.ezset ("title Raw Projection");
+      ezplotProj.ezset ("title Filtered Projection");
       ezplotProj.ezset ("xticks major 5");
-      ezplotProj.ezset ("yticks major 5");
       ezplotProj.ezset ("xlabel ");
       ezplotProj.ezset ("ylabel ");
-      ezplotProj.ezset ("yporigin 0.55");
+      ezplotProj.ezset ("yticks major 5");
+      ezplotProj.ezset ("yporigin 0.10");
       ezplotProj.ezset ("ylength 0.45");
       ezplotProj.ezset (osXLength.str().c_str());
-      ezplotProj.ezset ("box.");
-      ezplotProj.ezset ("grid.");
-      ezplotProj.addCurve (m_adPlotXAxis, detval, m_rProj.nDet());
+      ezplotProj.ezset ("box");
+      ezplotProj.ezset ("grid");
+      ezplotProj.addCurve (m_adPlotXAxis, adFilteredProj,  m_nFilteredProjections);
       pSGP->setTextPointSize (12);
       ezplotProj.plot (pSGP);
-    } 
+
+} 
 #endif  //HAVE_SGP
   }