]> Creatis software - creaImageIO.git/blob - src/creaImageIOWxSimpleDlg.h
#2842 creaImageIO Bug New Normal - Read images from directory
[creaImageIO.git] / src / creaImageIOWxSimpleDlg.h
1 /*
2 # ---------------------------------------------------------------------
3 #
4 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
5 #                        pour la Santé)
6 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
8 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9 #
10 #  This software is governed by the CeCILL-B license under French law and 
11 #  abiding by the rules of distribution of free software. You can  use, 
12 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
13 #  license as circulated by CEA, CNRS and INRIA at the following URL 
14 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
15 #  or in the file LICENSE.txt.
16 #
17 #  As a counterpart to the access to the source code and  rights to copy,
18 #  modify and redistribute granted by the license, users are provided only
19 #  with a limited warranty  and the software's author,  the holder of the
20 #  economic rights,  and the successive licensors  have only  limited
21 #  liability. 
22 #
23 #  The fact that you are presently reading this means that you have had
24 #  knowledge of the CeCILL-B license and that you accept its terms.
25 # ------------------------------------------------------------------------
26 */
27
28 #include "creaImageIOSimpleView.h"
29
30 #include "creaImageIOWxGimmickReaderDialog.h"
31 namespace creaImageIO
32 {
33  /**
34    * \ingroup View
35    */
36
37         /// Simple Wxwidgets interface to select file(s) or directory or from creaImageIO database to display
38         class CREAIMAGEIO_EXPORT WxSimpleDlg : public wxDialog
39         {
40         public:
41                  /// Ctor
42                   WxSimpleDlg( wxWindow *parent,  
43                           wxString i_title =_T(""),
44                           const std::string i_namedescp = "localdatabase_Descriptor.dscp",   
45                           const std::string i_namedb   = "Local Database"     
46                           );
47                   ///Dtor
48                   ~WxSimpleDlg(){};
49
50                   /// Callback to read file(s)
51                   void OnReadFile(wxCommandEvent& event);
52
53                   /// Callback to read directory, no recursive
54                    void OnReadDirectory(wxCommandEvent &event);
55               
56                   /// Callback to select from creaImageIO database
57                    void OnReadGimmick(wxCommandEvent &event);
58
59                    /// return a vtkImageData vector of selected images, if available
60                    std::vector<vtkImageData*> getImagesSelected();
61                    vtkImageData* getVolumeSelected();
62
63                    wxString getInfoImage();
64
65                    std::vector< std::map<std::string,std::string> >  getDicomInfoImagesSelected();
66                    void SetAttrDicomTags( std::vector<std::string> attr );
67
68
69                    void setInfo(bool i_val){bInfo = i_val;}
70                    
71                    // OutStrGimmick:
72                    //   - vtkImageData *
73                    //   - std::map<std::string, std::string> mapDicomInfos (std::map<tag Dicom, Value>
74                    std::vector<creaImageIO::OutStrGimmick> getMapInfos(){return m_resultsInfo;}
75
76         private:
77                 bool                                                    bInfo;
78                 std::string                                             namedescp; 
79                 std::string                                             namedb;
80                 wxString                                                infoimage;
81
82                 /// interface to read data
83                 SimpleView                                              m_view;
84
85                 /// vtkImageData vector
86                 std::vector<vtkImageData*>                              m_results;
87                 std::vector< std::map<std::string,std::string> >        m_resultsDicomAtr;
88                 std::vector<std::string>                                m_attrDicomTags;    // DXXXX_YYYY DAAAA_BBBB ...
89
90                 std::vector<creaImageIO::OutStrGimmick> m_resultsInfo;
91                 
92         };
93 }