X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsim%2Freconstruct.cpp;h=7bc6a833c6b39b873c3711315f25bcf93ccf6411;hp=e80cc4f26d37ade26d0bd27ef0d37a89aab0b736;hb=3f6c94c6bd432ad7b7a55ad991d3b8223fb44f18;hpb=17644359b085e5c2be7d71f8c0fb6dacd3cbd681 diff --git a/libctsim/reconstruct.cpp b/libctsim/reconstruct.cpp index e80cc4f..7bc6a83 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.12 2001/02/11 04:56:37 kevin Exp $ +** $Id: reconstruct.cpp,v 1.13 2001/02/20 04:48:45 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 @@ -91,7 +91,7 @@ Reconstructor::Reconstructor (const Projections& rProj, ImageFile& rIF, const ch return; } -#if HAVE_SGP +#ifdef HAVE_SGP m_adPlotXAxis = new double [m_rProj.nDet()]; double x = - ((m_rProj.nDet() - 1) / 2) * m_rProj.detInc(); double xInc = m_rProj.detInc(); @@ -112,7 +112,7 @@ Reconstructor::~Reconstructor () void Reconstructor::plotFilter (SGP* pSGP) { -#if HAVE_SGP +#ifdef HAVE_SGP int nVecFilter = m_pProcessSignal->getNFilterPoints(); double* adPlotXAxis = new double [nVecFilter]; @@ -183,35 +183,45 @@ Reconstructor::reconstructView (int iStartView, int iViewCount, SGP* pSGP, bool osXLength << "xlength " << dGraphWidth; 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 ("yticks major 5"); - ezplotProj.ezset ("yporigin 0.10"); + 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, adFilteredProj, m_nFilteredProjections); + ezplotProj.ezset ("box."); + ezplotProj.ezset ("grid."); +#if 0 // workaround c++ optimizer bug, now disabled by using /O1 in code + double* pdDetval = new double [m_rProj.nDet()]; + for (unsigned int id = 0; id < m_rProj.nDet(); id++) { + pdDetval[id] = detval[id]; + } + ezplotProj.addCurve (m_adPlotXAxis, pdDetval, m_rProj.nDet()); + delete pdDetval; +#else + ezplotProj.addCurve (m_adPlotXAxis, detval, m_rProj.nDet()); +#endif pSGP->setTextPointSize (12); ezplotProj.plot (pSGP); ezplotProj.ezset ("clear"); - ezplotProj.ezset ("title Raw Projection"); + ezplotProj.ezset ("title Filtered Projection"); ezplotProj.ezset ("xticks major 5"); - ezplotProj.ezset ("yticks major 5"); ezplotProj.ezset ("xlabel "); ezplotProj.ezset ("ylabel "); - ezplotProj.ezset ("yporigin 0.55"); + 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, detval, m_rProj.nDet()); + ezplotProj.ezset ("box"); + ezplotProj.ezset ("grid"); + ezplotProj.addCurve (m_adPlotXAxis, adFilteredProj, m_nFilteredProjections); pSGP->setTextPointSize (12); ezplotProj.plot (pSGP); - } + +} #endif //HAVE_SGP }