X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsim%2Freconstruct.cpp;h=df456214c7b2a4066e7d9caa986c5eff9591d352;hp=591aed28282888f9441c2e190b1a5a38093740d5;hb=5c6b29ab4885308cc3381af6e0a68f4804956d2e;hpb=6afa21de8aa00b405de47584efe108c71df33e1b diff --git a/libctsim/reconstruct.cpp b/libctsim/reconstruct.cpp index 591aed2..df45621 100644 --- a/libctsim/reconstruct.cpp +++ b/libctsim/reconstruct.cpp @@ -8,7 +8,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: reconstruct.cpp,v 1.3 2000/12/16 02:44:26 kevin Exp $ +** $Id: reconstruct.cpp,v 1.6 2000/12/29 15:45:06 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,11 +117,11 @@ 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; @@ -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* adFilteredProj = new double [m_nFilteredProjections]; // filtered projections @@ -147,7 +147,7 @@ Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP) for (int iView = iStartView; iView < (iStartView + iViewCount); iView++) { if (m_iTrace == Trace::TRACE_CONSOLE) - cout <<"Reconstructing view " << iView << " (last = " << m_rProj.nView() - 1 << ")\n"; + std::cout <<"Reconstructing view " << iView << " (last = " << m_rProj.nView() - 1 << ")\n"; const DetectorArray& rDetArray = m_rProj.getDetectorArray (iView); const DetectorValue* detval = rDetArray.detValues(); @@ -165,12 +165,13 @@ 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; ezplotProj.ezset ("clear"); ezplotProj.ezset ("title Raw Projection"); @@ -182,7 +183,7 @@ Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP) ezplotProj.ezset ("box."); ezplotProj.ezset ("grid."); ezplotProj.addCurve (m_adPlotXAxis, detval, m_rProj.nDet()); - ezplotProj.plot(); + ezplotProj.plot (pSGP); ezplotProj.ezset ("clear"); ezplotProj.ezset ("title Filtered Projection"); ezplotProj.ezset ("xticks major 5"); @@ -192,7 +193,7 @@ Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP) ezplotProj.ezset ("box"); ezplotProj.ezset ("grid"); ezplotProj.addCurve (m_adPlotXAxis, adFilteredProj, m_nFilteredProjections); - ezplotProj.plot(); + ezplotProj.plot (pSGP); } #endif //HAVE_SGP }