]> Creatis software - creaImageIO.git/blobdiff - appli/TestWxGimmickReaderDialog/main.cxx
Feature #1764
[creaImageIO.git] / appli / TestWxGimmickReaderDialog / main.cxx
index eb89c66742f88d166cba3647481acfc9f8a7d5d0..ee0ec18bdba4c73c95fa5b0edc86d7726e8823f6 100644 (file)
@@ -1,9 +1,50 @@
+/*
+       # ---------------------------------------------------------------------
+       #
+       # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+       #                        pour la Santé)
+       # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+       # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+       # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+       #
+       #  This software is governed by the CeCILL-B license under French law and 
+       #  abiding by the rules of distribution of free software. You can  use, 
+       #  modify and/ or redistribute the software under the terms of the CeCILL-B 
+       #  license as circulated by CEA, CNRS and INRIA at the following URL 
+       #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+       #  or in the file LICENSE.txt.
+       #
+       #  As a counterpart to the access to the source code and  rights to copy,
+       #  modify and redistribute granted by the license, users are provided only
+       #  with a limited warranty  and the software's author,  the holder of the
+       #  economic rights,  and the successive licensors  have only  limited
+       #  liability. 
+       #
+       #  The fact that you are presently reading this means that you have had
+       #  knowledge of the CeCILL-B license and that you accept its terms.
+       # ------------------------------------------------------------------------
+*/
 #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:
@@ -15,6 +56,8 @@ IMPLEMENT_APP(myApp);
 
 CREA_WXMAIN_WITH_CONSOLE
 
+
+
 bool myApp::OnInit( )
 {
   wxApp::OnInit();
@@ -29,19 +72,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,
-                   _T("Select image(s)        - Gimmick! (c) CREATIS-LRMN 2008"),
+                   -1, 
+                                  "localdatabase_Descriptor.dscp",
+                                  "Local Database",
+                   _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)
@@ -60,16 +113,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,"");
 
-       crea::VtkBasicSlicer(images.front());
+    // 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(out.front().img);
        images.front()->Delete();
        w.OnExit();
 
      }
    else if (w.GetReturnCode() == wxID_CANCEL)
      {
+               
        w.OnExit();
        std::cout << "$$$$ main : user clicked 'CANCEL' $$$$"<<std::endl;
      }
@@ -80,10 +193,9 @@ bool myApp::OnInit( )
                  <<std::endl;    
      }
 
+
    //   std::cout << "$$$$ main : deleting dialog"<<std::endl;
    //   delete w;
    std::cout << "$$$$$$$$$$$$$$$$$$$$ main ended "<<std::endl;
    return false;
 }
-
-