]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOGimmickView.h
allow data anonymization
[creaImageIO.git] / src / creaImageIOGimmickView.h
index beb7bf25f16717e6b423efd773acc4016eebef12..fb9f17738ec4bc6e5b6623ca49a796e45dcab3bd 100644 (file)
@@ -8,7 +8,14 @@
 
 //#include <map>
 #include <vtkImageData.h>
+#if defined (USE_WXWIDGETS)
 #include <creaImageIOMultiThreadImageReader.h>
+#endif
+
+#if defined(USE_QT)
+#include "Qt/creaImageIOQMultiThreadImageReader.h"
+#endif
+
 
 // Signal/slot mechanism for progress events
 #include <boost/signal.hpp>
 
 namespace creaImageIO
 {
+        typedef std::map<std::string, std::string> mapInfoDicom;
+
+       typedef struct 
+       { 
+               vtkImageData *img;
+               //std::map<std::string, std::string> infos;
+               mapInfoDicom infos; 
+       } OutStrGimmick;
+
+
        /**
        * \ingroup View
        */
@@ -73,8 +90,8 @@ namespace creaImageIO
       virtual void GetSelectedFiles(std::vector<std::string>& s)
       { GimmickError("INTERNAL ERROR : GetSelectedFiles not implemented"); }
 
-         virtual void GetImages(int dim, std::vector<std::string> files, std::vector<vtkImageData*>& s) 
-         { GimmickError("INTERNAL ERROR : GetImages not implemented"); }
+      virtual void GetImages(int dim, std::vector<std::string> files, std::vector<vtkImageData*>& s) 
+      { GimmickError("INTERNAL ERROR : GetImages not implemented"); }
 
       virtual void OnSelectionChange(const std::vector<tree::Node*>& s, bool isSelection, int selection, bool mProcess)
       { GimmickError("INTERNAL ERROR : OnSelectionChange not implemented"); }
@@ -96,7 +113,6 @@ namespace creaImageIO
       
          /// Anonymize or de-anonymize data
          void Anonymize(std::vector<std::string> i_filenames, int type);
-         
 
          /// Display all Dicom Tags
          virtual void DumpTags(const std::string filename)
@@ -175,9 +191,31 @@ namespace creaImageIO
 
        void modifyValidationSignal(bool ivalid);
 
+       
+       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:
 
-       double OrderTheFileNameVector(std::vector<std::string> &im);
+
+       typedef void (*readXD)(std::vector<OutStrGimmick>&,  std::vector<std::string>, OutputAttr, double);
+
+       void getAttributes(const std::string i_file, std::map<std::string, std::string> &o_infos, OutputAttr i_attr);
+
+       virtual void readImages2(std::vector<OutStrGimmick>& o_output, std::vector<std::string> im,
+                        OutputAttr i_attr, double i_zspc);
+
+       virtual void readImages3(std::vector<OutStrGimmick>& o_output, std::vector<std::string> im,
+                        OutputAttr i_attr, double i_zspc);
+
+       virtual void readImages4(std::vector<OutStrGimmick>& o_output, std::vector<std::string> im,
+                        OutputAttr i_attr);
+
+       virtual void readImages1(std::vector<OutStrGimmick>& o_output, std::vector<std::string> im,
+                        OutputAttr i_attr);
+
 
       /// Controller which manages the interaction with the model
       boost::shared_ptr< Gimmick> mGimmick;