]> Creatis software - creaImageIO.git/commitdiff
thread bug correction Creatools2-0-3.creaImageIO0-2-5.17Feb2011
authorFrederic Cervenansky <Frederic.Cervenansky@creatis.insa-lyon.fr>
Thu, 10 Feb 2011 14:18:05 +0000 (14:18 +0000)
committerFrederic Cervenansky <Frederic.Cervenansky@creatis.insa-lyon.fr>
Thu, 10 Feb 2011 14:18:05 +0000 (14:18 +0000)
src/creaImageIODicomImageReader2.cpp
src/creaImageIOGimmickView.cpp
src/creaImageIOGimmickView.h
src/creaImageIOUltrasonixImageReader.cpp
src/creaImageIOWxGimmickReaderDialog.h
src/creaImageIOWxGimmickView.h
src/creaImageIOWxSimpleDlg.cpp

index 479170ec2f8352d008531f2e1d7a5c11f728a875..53ff687e8393dc23ae96097ea5db07d392188467 100644 (file)
@@ -1,6 +1,6 @@
 #include <creaImageIODicomImageReader2.h>
 #include "gdcmStringFilter.h"
-
+#include "vtkGDCMImageReader.h"
 
 #include <creaImageIOSystem.h>
 #include "boost/filesystem/path.hpp"
index 6d03b9e5976f0a769c5bcfd24e327b59e5289303..2db53c575eb0379b61f78660e297cf9d447adb30 100644 (file)
@@ -296,11 +296,16 @@ namespace creaImageIO
          mValidationSignal(ivalid);
   }
 
+  void GimmickView::stopReader()
+  {
+         mReader.Stop();
+  }
+
    //======================================================================
   ///Reads Images (Non Threaded)
 void GimmickView::ReadImagesNotThreaded(std::vector<vtkImageData*>& s, std::vector<std::string> im, int dimension)
 {
-       mReader.Stop();
+       stopReader();
 /* remember!
 
 #define GIMMICK_NO_IMAGE_SELECTION 0
index d41ea1a6e2cf2f6c73c707db58bc5f361b29c614..c34f895d08d89e09ef8b3d7efea894272f7bd177 100644 (file)
@@ -196,6 +196,8 @@ namespace creaImageIO
        void readImages(std::vector<OutStrGimmick>& o_output, std::vector<std::string> im,
                         OutputAttr i_attr, int i_dim, double i_zspc);
                        bool isSingle(const std::string i_file);
+
+       void stopReader();
     private:
 
 
index 978bb03ec4bd0d89c7134fce65e7c735aac1b485..2b9d783838ec869cb5b8eaaa1ee5749fe5b76dcd 100644 (file)
@@ -55,7 +55,7 @@ namespace creaImageIO
   //=====================================================================
   bool UltrasonixImageReader::CanRead(const std::string& filename)
   { 
-    long size;
+    long size = -1;
     bool ok = false;
     FILE *Ultrasonix_file=fopen(filename.c_str(), "rb");
     if (Ultrasonix_file) 
@@ -77,7 +77,7 @@ namespace creaImageIO
                size = (ftell(Ultrasonix_file) - HEADER_SIZE * sizeof(int)) / sizeof(int);
 
        // check if the data size corresponds to the dimensions of the images
-       if (size == h.width * h.height * h.frame)
+       if (size == h.width * h.height * h.frame )
                ok = true;
 
        fclose(Ultrasonix_file);
index e037559b6c08c503ae61800805c31f70addc3acb..3dff64eeafdf9a1d71b2953699a76d7580904c80 100644 (file)
@@ -68,6 +68,10 @@ namespace creaImageIO
        void deleteMessage();
     // void OnButtonOk(wxCommandEvent& event);
     // void OnButtonCancel(wxCommandEvent& event);
+       void stopReading()
+       {
+               mView->stopReader();
+       }
 
   private :
 
index 6f820f96c3aeb4c0af49c0cdc67093b629517f28..dec6809c49def6ed2eff511d8084a232602cddc9 100644 (file)
@@ -110,7 +110,8 @@ namespace creaImageIO
 
        ///Called when there has been a change in the visible attributes of a tree view
        void OnAttributesChanged(const std::vector<std::string>& nShown, int level);
-    
+
+
   protected:
     /// Creates the tool bar
     void CreateToolBar(); 
index 4b5180ae81c8befe3a0a7403353dbd58d4c5a333..3b2d906717b425c257f4aecf6b881abcbb5ae9fd 100644 (file)
@@ -113,13 +113,14 @@ namespace creaImageIO
                 dlg.ShowModal();
                 if (dlg.GetReturnCode() == wxID_OK)
             {
-                       infoimage=_T("DICOM: ???_EED_???");
+       //              infoimage=_T("DICOM: ???_EED_???");
 //EED 07JUIN2010                       dlg.GetSelectedImages(m_results,3);
                        std::vector<creaImageIO::OutStrGimmick> out;
                        std::vector<std::string> attr;
 //                             attr.push_back("D0028_0010");
 //                             attr.push_back("D0008_0023");
 //                             attr.push_back("D0008_1070");
+                               dlg.stopReading();
                                dlg.getSelected(out, attr,true,"");
 //                             crea::VtkBasicSlicer(out.front().img);
                        m_results.clear();