** 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
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)
{
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;
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: ";
Reconstructor::reconstructAllViews ()
{
reconstructView (0, m_rProj.nView());
- delete m_pBackprojector; m_pBackprojector = NULL;
+ postProcessing();
+}
+
+void
+Reconstructor::postProcessing()
+{
+ m_pBackprojector->PostProcessing();
}