r471: Fixed shutdown crash, added Revert
[ctsim.git] / libctsim / reconstruct.cpp
index df456214c7b2a4066e7d9caa986c5eff9591d352..da99f5992bdc41f635103826c2efbff97d60c5fa 100644 (file)
@@ -6,9 +6,9 @@
 **   Date Started: Aug 84
 **
 **  This is part of the CTSim program
-**  Copyright (C) 1983-2000 Kevin Rosenberg
+**  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: reconstruct.cpp,v 1.6 2000/12/29 15:45:06 kevin Exp $
+**  $Id: reconstruct.cpp,v 1.11 2001/01/30 05:05:41 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
@@ -123,7 +123,7 @@ Reconstructor::plotFilter (SGP* pSGP)
       ezplot.addCurve (adPlotXAxis, m_pProcessSignal->getFilter(), nVecFilter);
       ezplot.plot (pSGP);
     }
-  }\r
+  }
   delete adPlotXAxis;
 #endif
 }
@@ -138,7 +138,7 @@ Reconstructor::reconstructAllViews ()
 
 
 void
-Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP, bool bBackprojectView)
+Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP, bool bBackprojectView, double dGraphWidth)
 {
   double* adFilteredProj = new double [m_nFilteredProjections];   // filtered projections
 
@@ -165,7 +165,7 @@ Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP, bool
     }
 #endif
 #endif
-\r
+
        if (bBackprojectView)
       m_pBackprojector->BackprojectView (adFilteredProj, rDetArray.viewAngle());
 
@@ -173,31 +173,42 @@ Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP, bool
     if (m_iTrace >= Trace::TRACE_PLOT && pSGP) {
       EZPlot ezplotProj;
 
+      std::ostringstream osXLength;
+      osXLength << "xlength " << dGraphWidth;
+
       ezplotProj.ezset ("clear");
-      ezplotProj.ezset ("title Raw Projection");
+      ezplotProj.ezset ("title Filtered Projection");
       ezplotProj.ezset ("xticks major 5");
       ezplotProj.ezset ("xlabel ");
       ezplotProj.ezset ("ylabel ");
-      ezplotProj.ezset ("yporigin .5");
-      ezplotProj.ezset ("ylength .5");
-      ezplotProj.ezset ("box.");
-      ezplotProj.ezset ("grid.");
-      ezplotProj.addCurve (m_adPlotXAxis, detval, m_rProj.nDet());
+      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, adFilteredProj,  m_nFilteredProjections);
+      pSGP->setTextPointSize (12);
       ezplotProj.plot (pSGP);
+
       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 ("ylength .5");
-      ezplotProj.ezset ("box");
-      ezplotProj.ezset ("grid");
-      ezplotProj.addCurve (m_adPlotXAxis, adFilteredProj,  m_nFilteredProjections);
+      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, detval, m_rProj.nDet());
+      pSGP->setTextPointSize (12);
       ezplotProj.plot (pSGP);
     } 
 #endif  //HAVE_SGP
   }
-\r
-  delete adFilteredProj;\r
+
+  delete adFilteredProj;
 }