r605: *** empty log message ***
authorKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 5 Mar 2001 15:10:58 +0000 (15:10 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 5 Mar 2001 15:10:58 +0000 (15:10 +0000)
include/ctndicom.h
libctsim/ctndicom.cpp
msvc/ctsim/ctsim.plg
src/docs.cpp
src/docs.h

index 701434b0e0542628040616ae7bd913f78c622733..cbd6a22e20cbeed59d201f023cac245bd949dbb1 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: ctndicom.h,v 1.2 2001/03/02 02:08:14 kevin Exp $
+**  $Id: ctndicom.h,v 1.3 2001/03/05 15:10:58 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
@@ -78,5 +78,27 @@ public:
   Projections* getProjections() const {return m_pProjections;}
 };
 
+
+class DicomExporter {
+private:
+  std::string m_strFilename;
+  bool m_bFail;
+  std::string m_strFailMessage;
+  const ImageFile* m_pImageFile;
+  DCM_OBJECT* m_pFile;
+
+  void saveImage (unsigned short iNRows, unsigned short iNCols, unsigned short iBitsAllocated, 
+            unsigned short iBitsStored, unsigned short iHighBit, unsigned short iPixRep);
+
+
+public:
+
+  DicomExporter (const char* const pszFile, const ImageFile* pImageFile);
+  ~DicomExporter();
+
+  bool fail() const {return m_bFail;}
+  const std::string& failMessage() const {return m_strFailMessage;}
+};
+
 #endif // HAVE_CTN_DICOM
 #endif // _CTNDICOM_H_
index 5ad53b55dd5511bc202c8e3624a5dd1be0d2518f..5762032eda1c09bb781e58a973efc5d441bd05bc 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: ctndicom.cpp,v 1.4 2001/03/02 05:10:22 kevin Exp $
+**  $Id: ctndicom.cpp,v 1.5 2001/03/05 15:10:58 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
@@ -177,7 +177,7 @@ DicomImporter::loadProjections()
   }
 
   DCM_TAG somatomTag = DCM_MAKETAG(TAG_GROUP_SOMATOM, TAG_MEMBER_SOMATOM_DATA);
-  DCM_ELEMENT elemProjections = {somatomTag, DCM_OT, "", 1, 0, NULL};
+  DCM_ELEMENT elemProjections = {somatomTag, DCM_UNKNOWN, "", 1, 0, NULL};
   if (DCM_GetElementSize (&m_pFile, elemProjections.tag, &lRtnLength) != DCM_NORMAL) {
     m_bFail = true;
     m_strFailMessage = "Can't find projection data";
index 5062e260d13aa460e88d4e5ef12a9138d9bb4c5d..d59ef2aea1bc528e1e4a14d8d672ed55edaad2d8 100644 (file)
@@ -3,18 +3,61 @@
 <pre>
 <h1>Build Log</h1>
 <h3>
---------------------Configuration: ctsim - Win32 Debug--------------------
+--------------------Configuration: libctsim - Win32 Debug--------------------
 </h3>
 <h3>Command Lines</h3>
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP14D5.tmp" with contents
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP11A.tmp" with contents
+[
+/nologo /G6 /MTd /W3 /Gm /Gi /GR /GX /Zi /Od /Gy /I "..\..\..\wx2.2.5\src\png" /I "..\..\..\wx2.2.5\src\zlib" /I "..\..\INCLUDE" /I "..\..\getopt" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /I "..\..\..\wx2.2.5\include" /I "\dicom\ctn\include" /D "_DEBUG" /D "HAVE_WXWIN" /D "HAVE_STRING_H" /D "HAVE_GETOPT_H" /D "WIN32" /D "_MBCS" /D "_LIB" /D "MSVC" /D "HAVE_FFTW" /D "HAVE_PNG" /D "HAVE_SGP" /D "HAVE_WXWINDOWS" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "HAVE_CTN_DICOM" /FR"Debug/" /Fp"Debug/libctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c 
+"C:\ctsim\libctsim\ctndicom.cpp"
+]
+Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP11A.tmp" 
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP11B.tmp" with contents
 [
-/nologo /G6 /MTd /W3 /Gm /Gi /GR /GX /Zi /Od /Gy /I "\wx2.2.5\include" /I "..\..\..\fftw-2.1.3\fftw" /I "\wx2.2.5\src\png" /I "\wx2.2.5\src\zlib" /I "..\..\include" /I "..\..\getopt" /I "..\..\..\fftw-2.1.3\rfftw" /I "\dicom\ctn\include" /D VERSION=\"3.0.0beta1\" /D "_DEBUG" /D "__WXMSW__" /D "HAVE_SGP" /D "HAVE_PNG" /D "HAVE_WXWINDOWS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "HAVE_STRING_H" /D "HAVE_FFTW" /D "HAVE_RFFTW" /D "HAVE_GETOPT_H" /D "MSVC" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D CTSIMVERSION=\"3.1.0\" /D "HAVE_CTN_DICOM" /FR"Debug/" /Fp"Debug/ctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c 
-"D:\ctsim\src\backgroundsupr.cpp"
-"D:\ctsim\src\threadproj.cpp"
-"D:\ctsim\src\threadrecon.cpp"
+/nologo /out:"Debug\libctsim.lib" 
+.\Debug\array2dfile.obj
+.\Debug\backprojectors.obj
+.\Debug\clip.obj
+.\Debug\consoleio.obj
+.\Debug\ctndicom.obj
+.\Debug\dlgezplot.obj
+.\Debug\ezplot.obj
+.\Debug\ezset.obj
+.\Debug\ezsupport.obj
+.\Debug\filter.obj
+.\Debug\fnetorderstream.obj
+.\Debug\fourier.obj
+.\Debug\getopt.obj
+.\Debug\getopt1.obj
+.\Debug\globalvars.obj
+.\Debug\hashtable.obj
+.\Debug\imagefile.obj
+.\Debug\interpolator.obj
+.\Debug\mathfuncs.obj
+.\Debug\phantom.obj
+.\Debug\plotfile.obj
+.\Debug\pol.obj
+.\Debug\procsignal.obj
+.\Debug\projections.obj
+.\Debug\reconstruct.obj
+.\Debug\scanner.obj
+.\Debug\sgp.obj
+.\Debug\strfuncs.obj
+.\Debug\syserror.obj
+.\Debug\trace.obj
+.\Debug\transformmatrix.obj
+.\Debug\xform.obj
 ]
-Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP14D5.tmp" 
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP14D6.tmp" with contents
+Creating command line "link.exe -lib @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP11B.tmp"
+<h3>Output Window</h3>
+Compiling...
+ctndicom.cpp
+Creating library...
+<h3>
+--------------------Configuration: ctsim - Win32 Debug--------------------
+</h3>
+<h3>Command Lines</h3>
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP11C.tmp" with contents
 [
 winmm.lib rpcrt4.lib ws2_32.lib ../libctsim/Debug/libctsim.lib libcmtd.lib ..\..\..\fftw-2.1.3\Win32\FFTW2st\Debug\FFTW2st.lib ..\..\..\fftw-2.1.3\Win32\RFFTW2st\Debug\RFFTW2st.lib wxd.lib xpmd.lib tiffd.lib zlibd.lib pngd.lib comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib htmlhelp.lib ctn_lib.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/ctsim.pdb" /debug /machine:I386 /out:"Debug/ctsim.exe" /pdbtype:sept /libpath:"\wx2.2.5\lib" /libpath:"\dicom\ctn\winctn\ctn_lib\Debug" 
 .\Debug\backgroundmgr.obj
@@ -41,12 +84,8 @@ winmm.lib rpcrt4.lib ws2_32.lib ../libctsim/Debug/libctsim.lib libcmtd.lib ..\..
 \wx2.2.5\lib\zlibd.lib
 \wx2.2.5\lib\tiffd.lib
 ]
-Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP14D6.tmp"
+Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP11C.tmp"
 <h3>Output Window</h3>
-Compiling...
-backgroundsupr.cpp
-threadproj.cpp
-threadrecon.cpp
 Linking...
 
 
index 337d6737e5086c95aafb4bdbd920fd3df5e1ce52..6ea75a0509aed50a7664d80c68c84d6e7ecf6629 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: docs.cpp,v 1.31 2001/03/04 22:30:19 kevin Exp $
+**  $Id: docs.cpp,v 1.32 2001/03/05 15:10:58 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
@@ -130,10 +130,13 @@ ImageFileDocument::Revert ()
 
 IMPLEMENT_DYNAMIC_CLASS(BackgroundProcessingDocument, wxDocument)
 BEGIN_EVENT_TABLE(BackgroundProcessingDocument, wxDocument)
+#ifdef CTSIM_THREADS
 EVT_MENU(BackgroundSupervisor::MSG_BACKGROUND_SUPERVISOR_ADD, BackgroundProcessingDocument::OnAddBackground)
 EVT_MENU(BackgroundSupervisor::MSG_BACKGROUND_SUPERVISOR_REMOVE, BackgroundProcessingDocument::OnRemoveBackground)
+#endif
 END_EVENT_TABLE()
 
+#ifdef CTSIM_TREADS
 void
 BackgroundProcessingDocument::OnAddBackground (wxCommandEvent& event)
 {
@@ -168,10 +171,12 @@ BackgroundProcessingDocument::OnRemoveBackground (wxCommandEvent& event)
   
   pSupervisor->onAckDocumentRemove();
 }
+#endif
 
 void
 BackgroundProcessingDocument::cancelRunningTasks()
 {
+#ifdef CTSIM_THREADS
   m_criticalSection.Enter();
   for (BackgroundContainer::iterator i = m_vecpBackgroundSupervisors.begin(); 
         i != m_vecpBackgroundSupervisors.end(); i++)
@@ -182,6 +187,7 @@ BackgroundProcessingDocument::cancelRunningTasks()
      ::wxYield();
      ::wxUsleep(50);
   }
+#endif
 }
 
 
index 82b08b02080ffbb4e933d33d465157fec807056f..5947b18490957931c9078f0fd22e0972034f74bc 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: docs.h,v 1.26 2001/02/25 16:21:36 kevin Exp $
+**  $Id: docs.h,v 1.27 2001/03/05 15:10:58 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
@@ -90,10 +90,12 @@ class BackgroundProcessingDocument : public wxDocument
 {
 private:
     DECLARE_DYNAMIC_CLASS(BackgroundProcessingDocument)
+#ifdef CTSIM_THREADS
     typedef BackgroundSupervisor BackgroundObject;
     typedef std::vector<BackgroundObject*> BackgroundContainer;
     BackgroundContainer m_vecpBackgroundSupervisors;
     wxCriticalSection m_criticalSection;
+#endif
 
 public:
   BackgroundProcessingDocument()
@@ -101,8 +103,10 @@ public:
       {}
 
   void cancelRunningTasks();
+#ifdef CTSIM_THREADS
   void OnAddBackground (wxCommandEvent& event);
   void OnRemoveBackground (wxCommandEvent& event);
+#endif
 
   DECLARE_EVENT_TABLE()
 };