X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=libctsim%2Freconstruct.cpp;h=ded9420ca6c6ef30477ff73c2e708ff2f6866410;hb=c572838c379c18ff4287728875f6fbb4ad687e54;hp=58f17bc9ac7e7bfc530f446246cc5cf3d388a134;hpb=ee0105d74fec9d6bfd236e22e9e1d315e46c568e;p=ctsim.git diff --git a/libctsim/reconstruct.cpp b/libctsim/reconstruct.cpp index 58f17bc..ded9420 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.2 2000/12/06 01:46:43 kevin Exp $ +** $Id: reconstruct.cpp,v 1.5 2000/12/17 22:30:34 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 @@ -108,7 +108,7 @@ Reconstructor::plotFilter (SGP* pSGP) { #if HAVE_SGP int nVecFilter = m_pProcessSignal->getNFilterPoints(); - double adPlotXAxis [nVecFilter]; + double* adPlotXAxis = new double [nVecFilter]; if (nVecFilter > 0 && pSGP) { double f = m_pProcessSignal->getFilterMin(); @@ -123,7 +123,8 @@ Reconstructor::plotFilter (SGP* pSGP) ezplot.addCurve (adPlotXAxis, m_pProcessSignal->getFilter(), nVecFilter); ezplot.plot(); } - } + } + delete adPlotXAxis; #endif } @@ -137,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 @@ -146,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(); @@ -164,8 +165,9 @@ 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) {