]> Creatis software - creaImageIO.git/blob - appli/TestWxSimpleView/main.cxx
*** empty log message ***
[creaImageIO.git] / appli / TestWxSimpleView / main.cxx
1 #include <creaImageIOSystem.h>
2 #include <creaWx.h>
3 #include <creaImageIOWxISimpleDlg.h>
4 #include <creaImageIOWxISimpleDlg.hpp>
5 #include <itkImageBase.h>
6 #include <creaVtkBasicSlicer.h>
7
8 #define ITK_DIM_TO_TEST 4
9
10 // Just to test the selection of file(s), directory or from creaImageIO database.
11 class myApp : public wxApp
12 {
13 public:
14   bool OnInit( );
15   int  OnExit() { return true; }
16 };
17
18 IMPLEMENT_APP(myApp);
19
20 CREA_WXMAIN_WITH_CONSOLE
21
22 bool myApp::OnInit( )
23 {
24   wxApp::OnInit();
25 #ifdef __WXGTK__
26   //See http://www.wxwindows.org/faqgtk.htm#locale
27   setlocale(LC_NUMERIC, "C");
28 #endif
29    wxInitAllImageHandlers();
30    std::vector <vtkImageData*> vtktest;
31    std::vector<std::string> exts;
32   if(ITK_DIM_TO_TEST == 3)
33    {
34    
35            typedef itk::Image<short, ITK_DIM_TO_TEST >  ImageType;
36            creaImageIO::WxISimpleDlg<ImageType> x(0);
37            // files extension to take in count
38        exts.push_back(".hdr");
39        x.setExts(exts);
40        x.ShowModal();
41            // get itkImage vector
42            std::vector <ImageType::Pointer> test = x.getImagesSelected();
43            // convert 3D itk to 3D vtk
44            x.split3Din3Dvtk();
45             // get vtkImageData* vector
46        vtktest = x.getVtkImagesSelected();
47   }
48   else if (ITK_DIM_TO_TEST == 4)
49   {
50           typedef itk::Image<short, ITK_DIM_TO_TEST >  ImageType;
51       creaImageIO::WxISimpleDlg<ImageType> x(0);
52           x.ShowModal();
53           // get itkImage vector
54           std::vector <ImageType::Pointer> test = x.getImagesSelected();
55           // convert 4D itk to 3D vtk  with a directory to create tempory vtk files.
56       x.split4Din3Dvtk("d:/temp");
57           // get vtkImageData* vector
58           vtktest = x.getVtkImagesSelected();
59         }
60   else{}
61
62  
63   if(vtktest.size() >0)
64    {
65         crea::VtkBasicSlicer(vtktest.front());
66    }
67    return false;
68 }
69
70