** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: views.cpp,v 1.115 2001/02/23 18:56:56 kevin Exp $
+** $Id: views.cpp,v 1.117 2001/02/25 06:32:12 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);
double scaleWidth = m_dMaxPixel - m_dMinPixel;
unsigned char* imageData = new unsigned char [nx * ny * 3];
+ if (! imageData) {
+ sys_error (ERR_SEVERE, "Unable to allocate memory for Image display");
+ return;
+ }
for (int ix = 0; ix < nx; ix++) {
for (int iy = 0; iy < ny; iy++) {
double scaleValue = ((v[ix][iy] - m_dMinPixel) / scaleWidth) * 255;
} 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);
}
unsigned char* imageData = new unsigned char [nDet * nView * 3];
+ if (! imageData) {
+ sys_error (ERR_SEVERE, "Unable to allocate memory for image display");
+ return;
+ }
double scale = (max - min) / 255;
for (int iy2 = 0; iy2 < nView; iy2++) {
const DetectorArray& detarray = rProj.getDetectorArray (iy2);