r618: *** empty log message ***
[ctsim.git] / src / views.cpp
index b78442190c44e0f06aeade515d24e9dd9fd30369..54a12b8d764ea05f6d96d71015de8215fe3283cb 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: views.cpp,v 1.124 2001/03/02 20:20:09 kevin Exp $
+**  $Id: views.cpp,v 1.129 2001/03/07 22:30:16 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
@@ -841,7 +841,7 @@ ImageFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
   m_pFileMenu->Append(wxID_PREVIEW, "Print Preview");
   m_pFileMenu->AppendSeparator();
-  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import\tCtrl-I...");
+  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
 #ifdef CTSIM_MDI
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
@@ -1095,6 +1095,12 @@ ImageFileView::OnExport (wxCommandEvent& event)
         strExt = ".png";
         strWildcard = "PNG Files (*.png)|*.png";
       }
+#endif
+#ifdef HAVE_CTN_DICOM
+      else if (m_iDefaultExportFormatID == ImageFile::EXPORT_FORMAT_DICOM) {
+        strExt = "";
+        strWildcard = "DICOM Files (*.*)|*.*";
+      }
 #endif
       else {
         strExt = "";
@@ -1408,7 +1414,7 @@ ImageFileView::OnPlotFFTRow (wxCommandEvent& event)
       rPlotFile.addColumn (1, pYReal);
       rPlotFile.addColumn (2, pYImag);
       rPlotFile.addColumn (3, pYMag);
-      for (int iL = 0; iL < rIF.nLabels(); iL++)
+      for (unsigned int iL = 0; iL < rIF.nLabels(); iL++)
         rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str());
       os << " FFT Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
       *theApp->getLog() << os.str().c_str() << "\n";
@@ -1508,7 +1514,7 @@ ImageFileView::OnPlotFFTCol (wxCommandEvent& event)
       rPlotFile.addColumn (1, pYReal);
       rPlotFile.addColumn (2, pYImag);
       rPlotFile.addColumn (3, pYMag);
-      for (int iL = 0; iL < rIF.nLabels(); iL++)
+      for (unsigned int iL = 0; iL < rIF.nLabels(); iL++)
         rPlotFile.addDescription (rIF.labelGet(iL).getLabelString().c_str());
       os << " FFT Plot of " << GetDocument()->GetFirstView()->GetFrame()->GetTitle().c_str();
       *theApp->getLog() << os.str().c_str() << "\n";
@@ -1948,7 +1954,8 @@ PhantomFileView::OnProjections (wxCommandEvent& event)
       }
     }
   } else {
-    if (theApp->getUseBackgroundTasks() || theApp->getNumberCPU() > 1) {
+#if HAVE_WXTHREADS
+    if (theApp->getUseBackgroundTasks()) {
       ProjectorSupervisorThread* pProjector = new ProjectorSupervisorThread (this, m_iDefaultNDet,
         m_iDefaultNView, sGeometry.c_str(), m_iDefaultNSample, dRotationRadians,
         m_dDefaultFocalLength, m_dDefaultCenterDetectorLength, m_dDefaultViewRatio, m_dDefaultScanRatio, os.str().c_str());
@@ -1960,7 +1967,9 @@ PhantomFileView::OnProjections (wxCommandEvent& event)
       pProjector->SetPriority(60);
       pProjector->Run();
       return;
-    } else {
+    } else     
+#endif // HAVE_WXTHREADS
+       {
       pProj = new Projections;
       pProj->initFromScanner (theScanner);
       wxProgressDialog dlgProgress (wxString("Projection"), wxString("Projection Progress"), pProj->nView() + 1, getFrameForChild(), wxPD_CAN_ABORT );
@@ -2028,7 +2037,8 @@ PhantomFileView::OnRasterize (wxCommandEvent& event)
     << m_iDefaultRasterNY << ", ViewRatio=" << m_dDefaultRasterViewRatio << ", nSamples=" 
     << m_iDefaultRasterNSamples;;
 
-  if (theApp->getUseBackgroundTasks() || theApp->getNumberCPU() > 1) {
+#if HAVE_WXTHREADS
+  if (theApp->getUseBackgroundTasks()) {
     RasterizerSupervisorThread* pThread = new RasterizerSupervisorThread (this, m_iDefaultRasterNX, m_iDefaultRasterNY,
       m_iDefaultRasterNSamples, m_dDefaultRasterViewRatio, os.str().c_str());
     if (pThread->Create() != wxTHREAD_NO_ERROR) {
@@ -2037,7 +2047,9 @@ PhantomFileView::OnRasterize (wxCommandEvent& event)
     }
     pThread->SetPriority (60);
     pThread->Run();
-  } else {
+  } else 
+#endif
+  {
     ImageFile* pImageFile = new ImageFile (m_iDefaultRasterNX, m_iDefaultRasterNY);
     wxProgressDialog dlgProgress (wxString("Rasterize"), wxString("Rasterization Progress"), 
       pImageFile->nx() + 1, getFrameForChild(), wxPD_CAN_ABORT );
@@ -2113,7 +2125,7 @@ PhantomFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
   m_pFileMenu->Append(wxID_PREVIEW, "Print Pre&view");
   m_pFileMenu->AppendSeparator();
-  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import\tCtrl-I...");
+  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
 #ifdef CTSIM_MDI
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
@@ -2465,7 +2477,8 @@ ProjectionFileView::OnReconstructFBP (wxCommandEvent& event)
     delete pDlgReconstruct;
     delete pReconstructor;
   } else {
-    if (theApp->getUseBackgroundTasks() || theApp->getNumberCPU() > 1) {
+#if HAVE_WXTHREADS
+    if (theApp->getUseBackgroundTasks()) {
       ReconstructorSupervisorThread* pReconstructor = new ReconstructorSupervisorThread (this, 
         m_iDefaultNX, m_iDefaultNY, optFilterName.c_str(), 
         m_dDefaultFilterParam, optFilterMethodName.c_str(), m_iDefaultZeropad, optFilterGenerationName.c_str(), 
@@ -2478,7 +2491,9 @@ ProjectionFileView::OnReconstructFBP (wxCommandEvent& event)
       pReconstructor->SetPriority (60);
       pReconstructor->Run();
       return;
-    } else {
+    } else 
+#endif
+       {
       pImageFile = new ImageFile (m_iDefaultNX, m_iDefaultNY);
       Reconstructor* pReconstructor = new Reconstructor (rProj, *pImageFile, optFilterName.c_str(), 
         m_dDefaultFilterParam, optFilterMethodName.c_str(), m_iDefaultZeropad, optFilterGenerationName.c_str(), 
@@ -2563,7 +2578,7 @@ ProjectionFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
   m_pFileMenu->Append(wxID_PREVIEW, "Print Pre&view");
   m_pFileMenu->AppendSeparator();
-  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import\tCtrl-I...");
+  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
 #ifdef CTSIM_MDI
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
@@ -2895,7 +2910,7 @@ PlotFileView::CreateChildFrame(wxDocument *doc, wxView *view)
   m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
   m_pFileMenu->Append(wxID_PREVIEW, "Print Pre&view");
   m_pFileMenu->AppendSeparator();
-  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import\tCtrl-I...");
+  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
 #ifdef CTSIM_MDI
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");
@@ -3150,7 +3165,7 @@ TextFileView::CreateChildFrame (wxDocument *doc, wxView *view)
   m_pFileMenu->Append(wxID_PRINT_SETUP, "Print &Setup...");
   m_pFileMenu->Append(wxID_PREVIEW, "Print Pre&view");
   m_pFileMenu->AppendSeparator();
-  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import\tCtrl-I...");
+  m_pFileMenu->Append(MAINMENU_IMPORT, "&Import...\tCtrl-M");
 #ifdef CTSIM_MDI
   m_pFileMenu->AppendSeparator();
   m_pFileMenu->Append (MAINMENU_FILE_PREFERENCES, "Prefere&nces...");