]> Creatis software - creaImageIO.git/blobdiff - appli/TestWxGimmickReaderDialog/main.cxx
minor bugs correction
[creaImageIO.git] / appli / TestWxGimmickReaderDialog / main.cxx
index bef92dece3bc05e0418acf22998f6a624042707b..e2de0d0be1b2eb5ff85eb65b8738eabdf942e311 100644 (file)
@@ -1,9 +1,23 @@
 #include <creaImageIOSystem.h>
 #include <creaWx.h>
 #include <creaImageIOWxGimmickReaderDialog.h>
-
+#include "vtkMetaImageWriter.h"
+#include "vtkMetaImageReader.h"
 #include <creaVtkBasicSlicer.h>
 
+
+
+//#pragma comment(lib, "creaImageIO.lib")
+//#pragma comment(lib, "DelayImp.lib")
+//
+//
+//// Tell the linker that my DLL should be delay loaded
+////#pragma comment(linker, "/DelayLoad:creaImageIO.Dll")
+//\ f
+//// Tell the linker that I want to be able to unload my DLL
+//#pragma comment(linker, "/Delay:unload")
+//
+
 class myApp : public wxApp
 {
 public:
@@ -29,21 +43,29 @@ bool myApp::OnInit( )
 
    int min_dim = GIMMICK_2D_IMAGE_SELECTION;
    int max_dim = GIMMICK_3D_IMAGE_SELECTION;
-   int output_dim = NATIVE;
-   int threads = 1;
 
+//EED
+//   int output_dim = NATIVE;
+   int output_dim = _3D;
+
+   int threads = 1;
    creaImageIO::WxGimmickReaderDialog w(
                     0,
-                   -1,
+                   -1, 
                                   "localdatabase_Descriptor.dscp",
                                   "Local Database",
-                   _T("Select image(s)        - Gimmick! (c) CREATIS-LRMN 2008"),
+                   _T("Select image(s)        - creaImageIOApp  (c) CREATIS ( cnrs)"),
                    wxDefaultPosition,
                    wxSize(810,750),
                    min_dim,
                    max_dim,
                    output_dim,
-                   threads);
+       
+                                  threads);
+  /* clock_t endwait;
+               endwait = clock () +  CLOCKS_PER_SEC ;
+               while (clock() < endwait ) {}*/
    w.ShowModal();
 
    if (w.GetReturnCode() == wxID_OK)
@@ -62,16 +84,76 @@ bool myApp::OnInit( )
 
        //Puts images
        std::vector<vtkImageData*> images;
-       w.GetSelectedImages(images,output_dim);
-       std::cout<<images.size()<<std::endl;
+          w.GetSelectedImages(images,3);
+
+       
+       // First Exemple:
+       // We take all attributes from database
+       // but only for the first selected file.
+    // For the moment, no output model file (XML)
+       //  std::vector<creaImageIO::OutStrGimmick> out;
+       //  std::vector<std::string> attr;
+       //  attr.push_back("ALL");
+       //  w.getSelected(out, attr, false,"");
+
+
+    // Second Exemple:
+       // We take all attributes from database
+       // but for all selected file.
+    // For the moment, no output model file (XML)
+       //  std::vector<creaImageIO::OutStrGimmick> out;
+       //  std::vector<std::string> attr;
+       //  attr.push_back("ALL");
+       //  w.getSelected(out, attr,true,"");
+
+    // Third Exemple:
+       // We take attributes from database and others
+       // but for all selected file.
+    // For the moment, no output model file (XML)
+          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");
+          w.getSelected(out, attr,true,"");
+       std::cout<<out.size()<<std::endl;
+          crea::VtkBasicSlicer(out.front().img);
+       out.front().img->Delete();
+       w.OnExit();
+
+
+// images[1]->UpdateInformation();
+       /*   vtkMetaImageReader *r= vtkMetaImageReader::New();
+                  r->SetFileName("c:\\toto.mhd");
+          double zz[3];
+                images[0]->GetSpacing(zz);
+
+          vtkMetaImageWriter* ww = vtkMetaImageWriter::New(); 
+                ww->SetFileName("c:\\toto2.mhd"); 
+                ww->SetInput(images[0]);
+                ww->GetInput()->ShallowCopy(images[0]);
+                ww->UpdateInformation();
+                ww->GetInput()->GetSpacing(zz);
+                
+
+//>GetImageDataInput(0)->GetSpacing(zz);
+        images[0]->Delete();
+       
+    ww->Write(); 
+   ww->Delete();
+*/
+
 
-       crea::VtkBasicSlicer(images.front());
+
+
+          crea::VtkBasicSlicer(out.front().img);
        images.front()->Delete();
        w.OnExit();
 
      }
    else if (w.GetReturnCode() == wxID_CANCEL)
      {
+               
        w.OnExit();
        std::cout << "$$$$ main : user clicked 'CANCEL' $$$$"<<std::endl;
      }
@@ -82,10 +164,9 @@ bool myApp::OnInit( )
                  <<std::endl;    
      }
 
+
    //   std::cout << "$$$$ main : deleting dialog"<<std::endl;
    //   delete w;
    std::cout << "$$$$$$$$$$$$$$$$$$$$ main ended "<<std::endl;
    return false;
 }
-
-