X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=libctsim%2Freconstruct.cpp;h=c3b6e8b65eb6777cace756dfe7c95544d52a9c70;hb=9ff5b5165b2c8871bd4b29ccd5ca794638414615;hp=7bc6a833c6b39b873c3711315f25bcf93ccf6411;hpb=3f6c94c6bd432ad7b7a55ad991d3b8223fb44f18;p=ctsim.git diff --git a/libctsim/reconstruct.cpp b/libctsim/reconstruct.cpp index 7bc6a83..c3b6e8b 100644 --- a/libctsim/reconstruct.cpp +++ b/libctsim/reconstruct.cpp @@ -8,7 +8,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: reconstruct.cpp,v 1.13 2001/02/20 04:48:45 kevin Exp $ +** $Id: reconstruct.cpp,v 1.16 2001/03/11 15:27:30 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 @@ -52,7 +52,8 @@ Reconstructor::Reconstructor (const Projections& rProj, ImageFile& rIF, const char* const filterName, double filt_param, const char* const filterMethodName, const int zeropad, const char* filterGenerationName, const char* const interpName, - int interpFactor, const char* const backprojectName, const int iTrace, SGP* pSGP) + int interpFactor, const char* const backprojectName, const int iTrace, + ReconstructionROI* pROI, SGP* pSGP) : m_rProj(rProj), m_rImagefile(rIF), m_pProcessSignal(0), m_pBackprojector(0), m_iTrace(iTrace), m_bFail(false), m_adPlotXAxis(0) { @@ -71,7 +72,7 @@ Reconstructor::Reconstructor (const Projections& rProj, ImageFile& rIF, const ch double filterBW = 1. / m_rProj.detInc(); m_pProcessSignal = new ProcessSignal (filterName, filterMethodName, filterBW, m_rProj.detInc(), m_rProj.nDet(), filt_param, "spatial", filterGenerationName, zeropad, interpFactor, iTrace, - m_rProj.geometry(), m_rProj.focalLength(), pSGP); + m_rProj.geometry(), m_rProj.focalLength(), m_rProj.sourceDetectorLength(), pSGP); if (m_pProcessSignal->fail()) { m_bFail = true; @@ -81,7 +82,7 @@ Reconstructor::Reconstructor (const Projections& rProj, ImageFile& rIF, const ch return; } - m_pBackprojector = new Backprojector (m_rProj, m_rImagefile, backprojectName, interpName, interpFactor); + m_pBackprojector = new Backprojector (m_rProj, m_rImagefile, backprojectName, interpName, interpFactor, pROI); if (m_pBackprojector->fail()) { m_bFail = true; m_strFailMessage = "Error creating backprojector: "; @@ -139,7 +140,13 @@ void Reconstructor::reconstructAllViews () { reconstructView (0, m_rProj.nView()); - delete m_pBackprojector; m_pBackprojector = NULL; + postProcessing(); +} + +void +Reconstructor::postProcessing() +{ + m_pBackprojector->PostProcessing(); }