]> Creatis software - creaImageIO.git/blobdiff - src/creaImageIOGimmickView.h
*** empty log message ***
[creaImageIO.git] / src / creaImageIOGimmickView.h
index beb7bf25f16717e6b423efd773acc4016eebef12..d41ea1a6e2cf2f6c73c707db58bc5f361b29c614 100644 (file)
@@ -8,7 +8,14 @@
 
 //#include <map>
 #include <vtkImageData.h>
+#if defined (USE_WXWIDGETS)
 #include <creaImageIOMultiThreadImageReader.h>
+#endif
+
+#if defined(USE_QT4)
+#include <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"); }
@@ -95,8 +112,8 @@ namespace creaImageIO
          { GimmickError("INTERNAL ERROR : EditFields not implemented"); }
       
          /// Anonymize or de-anonymize data
-         void Anonymize(std::vector<std::string> i_filenames, int type);
-         
+         virtual void Anonymize(std::vector<std::string> i_filenames, int type)
+         { GimmickError("INTERNAL ERROR : Anonymize not implemented"); }
 
          /// Display all Dicom Tags
          virtual void DumpTags(const std::string filename)
@@ -175,9 +192,29 @@ 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);
     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;