- wxYield(); // update the display
- m_iLastView = iViewNumber;
- if (m_iTrace >= Trace::TRACE_PLOT)
- m_pSGP->setViewport (0, 0, 0.66, 1);
- m_rScanner.collectProjections (m_rProjections, m_rPhantom, iViewNumber, 1, true, m_iTrace, m_pSGP);
- if (m_iTrace >= Trace::TRACE_PLOT) {
- const DetectorArray& detArray = m_rProjections.getDetectorArray (iViewNumber);
- const DetectorValue* detValues = detArray.detValues();
- double detPos [detArray.nDet()];
- for (int i = 0; i < detArray.nDet(); i++)
- detPos[i] = i;
- EZPlot ezplot (*m_pSGP);
- ezplot.ezset("xporigin 0.66");
- ezplot.ezset("yporigin 0.10");
- ezplot.ezset("xlength 0.34");
- ezplot.ezset("ylength 0.90");
- ezplot.ezset("grid");
- ezplot.ezset("box");
- ezplot.addCurve (detValues, detPos, detArray.nDet());
- ezplot.plot();
- }
+ m_iLastView = iViewNumber;
+ ::wxYield(); // update the display
+ m_pSGP->eraseWindow();
+ m_btnPause->Refresh();
+ m_btnStep->Refresh();
+ m_btnAbort->Refresh();
+
+ if (m_iTrace >= Trace::TRACE_PLOT)
+ m_pSGP->setViewport (0, 0, 0.66, 1);
+ ::wxYield(); // update the display
+ m_rScanner.collectProjections (m_rProjections, m_rPhantom, iViewNumber, 1, true, m_iTrace, m_pSGP);
+ ::wxYield(); // update the display
+ if (m_iTrace >= Trace::TRACE_PLOT) {
+ const DetectorArray& detArray = m_rProjections.getDetectorArray (iViewNumber);
+ const DetectorValue* detValues = detArray.detValues();
+ double* detPos = new double [detArray.nDet()];
+ for (int i = 0; i < detArray.nDet(); i++)
+ detPos[i] = i;
+ EZPlot ezplot;
+ ezplot.ezset ("grid");
+ ezplot.ezset ("box");
+ ezplot.ezset ("yticks left");
+ ezplot.ezset ("xticks major 5");
+ ezplot.ezset ("yticks major 10");
+ ezplot.addCurve (detValues, detPos, detArray.nDet());
+#if 1
+ ezplot.ezset ("xporigin 0.67");
+ ezplot.ezset ("yporigin 0.10");
+ ezplot.ezset ("xlength 0.33");
+ ezplot.ezset ("ylength 0.90");
+ m_pSGP->setViewport (0., 0., 1., 1.);
+#else
+ m_pSGP->setViewport (0.67, 0.1, 1., 1.);
+#endif
+ ezplot.plot (m_pSGP);
+ delete detPos;
+ }