]> Creatis software - creaImageIO.git/blob - src/creaImageIOWxIsimpleDlg.h
201c3dc19e71b13dae1c5b3baa6136f10c295906
[creaImageIO.git] / src / creaImageIOWxIsimpleDlg.h
1
2 #ifndef __creaImageIOWxIsimpleDlg_h_INCLUDED__
3 #define __creaImageIOWxIsimpleDlg_h_INCLUDED__
4
5
6 #include "creaImageIOSimpleView.h"
7 #include "itkImageToVTKImageFilter.h"
8 #include <creaWx.h>
9 #include <itkImageFileReader.h>
10
11 namespace creaImageIO
12 {
13  /**
14    * \ingroup View
15    */
16
17         /// Simple Wxwidgets interface to select file(s) or directory or from creaImageIO database to display
18         template <typename TImage> 
19         class  __declspec(dllexport) WxISimpleDlg : public wxDialog
20         {
21         public:
22                  /// Ctor
23                   WxISimpleDlg( wxWindow *parent,  
24                           wxString i_title =_T(""),
25                           const std::string i_namedescp = "localdatabase_Descriptor.dscp",   
26                           const std::string i_namedb   = "Local Database"     
27                           );
28
29                   ~WxISimpleDlg(){};
30
31                   void setExts(std::vector<std::string>);
32                   /// Callback to read file(s)
33                   void OnReadFile(wxCommandEvent& event);
34
35                   /// Callback to read directory, no recursive
36                    void OnReadDirectory(wxCommandEvent &event);
37               
38                   /// Callback to select from creaImageIO database
39                    void OnReadGimmick(wxCommandEvent &event);
40
41                    /// return a vtkImageData vector of selected images, if available
42                    std::vector<vtkImageData*> getVtkImagesSelected() {return m_Vresults;}
43
44                         /// return a itkImage vector of selected images, if available
45                         std::vector<typename TImage::Pointer> getImagesSelected();
46                 
47
48                    wxString getInfoImage();
49
50                    void split4Din3Dvtk(const std::string &i_dir);
51                    void split3Din3Dvtk( );
52                    void set(bool i_dicom){m_dicom= i_dicom;}
53         private:
54
55                 std::vector<std::string> m_exts;
56                 std::string namedescp; 
57                 std::string namedb;
58                 wxString infoimage;
59                 bool m_dicom;
60                 /// interface to read data
61                 SimpleView m_view;
62                  void readImg(const std::string &i_name);
63                  void readDicomImg(const std::vector<std::string> &i_names);
64
65                  std::vector <typename TImage::Pointer> m_Iresults;
66
67                  std::vector <vtkImageData*> m_Vresults;
68
69         };
70
71
72 }
73
74
75 #endif //__creaImageIOWxIsimpleDlg_h_INCLUDED__