** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: views.cpp,v 1.113 2001/02/22 15:00:20 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;
::wxUsleep(50);
}
}
+ pReconstructor->postProcessing();
delete pDlgReconstruct;
delete pReconstructor;
ImageFileDocument* pReconDoc = theApp->newImageDoc();
} else {
if (theApp->getUseBackgroundTasks() || theApp->getNumberCPU() > 1) {
- ThreadedReconstructor* pReconstructor = new ThreadedReconstructor (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);
return;
}
}
+ pReconstructor->postProcessing();
delete pReconstructor;
ImageFileDocument* pReconDoc = theApp->newImageDoc();
if (! pReconDoc) {
}
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);