** 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.7 2001/01/02 16:02:13 kevin Exp $
+** $Id: reconstruct.cpp,v 1.12 2001/02/11 04:56:37 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)
- : m_rProj(rProj), m_rImagefile(rIF), m_pProcessSignal(0), m_pBackprojector(0), m_iTrace(iTrace), m_bFail(false), m_adPlotXAxis(0)
+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)
+ : m_rProj(rProj), m_rImagefile(rIF), m_pProcessSignal(0), m_pBackprojector(0), m_iTrace(iTrace),
+ m_bFail(false), m_adPlotXAxis(0)
{
m_nFilteredProjections = m_rProj.nDet() * interpFactor;
#endif
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_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);
if (m_pProcessSignal->fail()) {
m_bFail = true;
void
-Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP, bool bBackprojectView)
+Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP, bool bBackprojectView, double dGraphWidth)
{
double* adFilteredProj = new double [m_nFilteredProjections]; // filtered projections
if (m_iTrace >= Trace::TRACE_PLOT && pSGP) {
EZPlot ezplotProj;
+ std::ostringstream osXLength;
+ osXLength << "xlength " << dGraphWidth;
+
ezplotProj.ezset ("clear");
- ezplotProj.ezset ("title Raw Projection");
+ ezplotProj.ezset ("title Filtered 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.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);
+ pSGP->setTextPointSize (12);
ezplotProj.plot (pSGP);
+
ezplotProj.ezset ("clear");
- ezplotProj.ezset ("title Filtered Projection");
+ ezplotProj.ezset ("title Raw Projection");
ezplotProj.ezset ("xticks major 5");
+ ezplotProj.ezset ("yticks major 5");
ezplotProj.ezset ("xlabel ");
ezplotProj.ezset ("ylabel ");
- ezplotProj.ezset ("ylength .5");
- ezplotProj.ezset ("box");
- ezplotProj.ezset ("grid");
- ezplotProj.addCurve (m_adPlotXAxis, adFilteredProj, m_nFilteredProjections);
+ 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