X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=libctsim%2Freconstruct.cpp;h=da99f5992bdc41f635103826c2efbff97d60c5fa;hb=f692b2d39f56ffbafc04283f32233c098aa2978b;hp=7a27208597d1be2f515dd64ffc4ac23c20355814;hpb=dc034c9d0b7d9c3874a324a4c2c189a02945adc8;p=ctsim.git diff --git a/libctsim/reconstruct.cpp b/libctsim/reconstruct.cpp index 7a27208..da99f59 100644 --- a/libctsim/reconstruct.cpp +++ b/libctsim/reconstruct.cpp @@ -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.4 2000/12/16 06:12:47 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 @@ -117,13 +117,13 @@ Reconstructor::plotFilter (SGP* pSGP) adPlotXAxis[i] = f; if (m_pProcessSignal->getFilter()) { - EZPlot ezplot (*pSGP); + EZPlot ezplot; ezplot.ezset ("title Filter Response"); ezplot.addCurve (adPlotXAxis, m_pProcessSignal->getFilter(), nVecFilter); - ezplot.plot(); + ezplot.plot (pSGP); } - } + } delete adPlotXAxis; #endif } @@ -138,7 +138,7 @@ Reconstructor::reconstructAllViews () void -Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP) +Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP, bool bBackprojectView, double dGraphWidth) { double* adFilteredProj = new double [m_nFilteredProjections]; // filtered projections @@ -166,37 +166,49 @@ Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP) #endif #endif - m_pBackprojector->BackprojectView (adFilteredProj, rDetArray.viewAngle()); + if (bBackprojectView) + m_pBackprojector->BackprojectView (adFilteredProj, rDetArray.viewAngle()); #ifdef HAVE_SGP if (m_iTrace >= Trace::TRACE_PLOT && pSGP) { - EZPlot ezplotProj (*pSGP); + EZPlot ezplotProj; + + std::ostringstream osXLength; + osXLength << "xlength " << dGraphWidth; - ezplotProj.ezset ("clear"); - ezplotProj.ezset ("title Raw 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.plot(); ezplotProj.ezset ("clear"); ezplotProj.ezset ("title Filtered Projection"); ezplotProj.ezset ("xticks major 5"); ezplotProj.ezset ("xlabel "); ezplotProj.ezset ("ylabel "); - ezplotProj.ezset ("ylength .5"); + 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); - ezplotProj.plot(); + pSGP->setTextPointSize (12); + ezplotProj.plot (pSGP); + + ezplotProj.ezset ("clear"); + ezplotProj.ezset ("title Raw Projection"); + ezplotProj.ezset ("xticks major 5"); + ezplotProj.ezset ("yticks major 5"); + ezplotProj.ezset ("xlabel "); + ezplotProj.ezset ("ylabel "); + 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 } - - delete adFilteredProj; + + delete adFilteredProj; }