** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: views.cpp,v 1.116 2001/02/23 21:58:32 kevin Exp $
+** $Id: views.cpp,v 1.118 2001/02/25 10:52:55 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
{
if (! m_pView)
return;
+
wxClientDC dc(this);
PrepareDC(dc);
wxMessageBox (msg, "Error");
return;
}
+ std::ostringstream os;
+ os << "Projections for " << rPhantom.name() << ": nDet=" << m_iDefaultNDet
+ << ", nView=" << m_iDefaultNView << ", nSamples=" << m_iDefaultNSample
+ << ", RotAngle=" << m_dDefaultRotation << ", FocalLengthRatio=" << m_dDefaultFocalLength
+ << ", ViewRatio=" << m_dDefaultViewRatio << ", ScanRatio=" << m_dDefaultScanRatio
+ << ", Geometry=" << sGeometry.c_str() << ", FanBeamAngle=" <<
+ convertRadiansToDegrees (theScanner.fanBeamAngle());
pProj->initFromScanner (theScanner);
m_dDefaultRotation /= TWOPI; // convert back to fraction of a circle
}
}
- std::ostringstream os;
- os << "Projections for " << rPhantom.name() << ": nDet=" << m_iDefaultNDet
- << ", nView=" << m_iDefaultNView << ", nSamples=" << m_iDefaultNSample
- << ", RotAngle=" << m_dDefaultRotation << ", FocalLengthRatio=" << m_dDefaultFocalLength
- << ", ViewRatio=" << m_dDefaultViewRatio << ", ScanRatio=" << m_dDefaultScanRatio
- << ", Geometry=" << sGeometry.c_str() << ", FanBeamAngle=" <<
- convertRadiansToDegrees (theScanner.fanBeamAngle());
- pProj->setCalcTime (timer.timerEnd());
pProj->setRemark (os.str());
+ pProj->setCalcTime (timer.timerEnd());
*theApp->getLog() << os.str().c_str() << "\n";
::wxYield();
} else {
if (theApp->getUseBackgroundTasks() || theApp->getNumberCPU() > 1) {
- ReconstructorSupervisor* pReconstructor = new ReconstructorSupervisor (this,
+ ReconstructorSupervisorThread* pReconstructor = new ReconstructorSupervisorThread (this,
m_iDefaultNX, m_iDefaultNY, optFilterName.c_str(),
m_dDefaultFilterParam, optFilterMethodName.c_str(), m_iDefaultZeropad, optFilterGenerationName.c_str(),
optInterpName.c_str(), m_iDefaultInterpParam, optBackprojectName.c_str(), os.str().c_str());
- if (! pReconstructor->start()) {
+ if (pReconstructor->Create() != wxTHREAD_NO_ERROR) {
+ sys_error (ERR_SEVERE, "Error creating reconstructor thread");
delete pReconstructor;
return;
}
- // delete pReconstructor; // reconstructor is still running
+// pReconstructor->SetPriority (60);
+ pReconstructor->Run();
} else {
ImageFile* pImageFile = new ImageFile;
pImageFile->setArraySize (m_iDefaultNX, m_iDefaultNY);