1 #include "creaImageIOWxSimpleDlg.h"
2 #include "creaImageIOWxGimmickReaderDialog.h"
3 //#include <itkAnalyzeImageIO.h>
4 //#include <itkImageFileReader.h>
5 //#include <itkImage.h>
12 WxSimpleDlg::WxSimpleDlg(wxWindow *parent,
14 const std::string i_namedescp ,
15 const std::string i_namedb)
16 : wxDialog(parent, -1,_T("DISPLAY IMAGES"), wxDefaultPosition, wxSize(230,150))
18 namedescp = i_namedescp;
23 this->SetTitle(i_title);
25 // Button to select file(s)
26 wxButton *fileBut = new wxButton(this, -1,_T("Select a single file to display"), wxPoint(10,7) );
27 Connect( fileBut->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxSimpleDlg::OnReadFile );
29 // Button to select directory
30 wxButton *directoryBut = new wxButton(this, -1,_T("Select a directory to display"), wxPoint(10,40) );
31 Connect( directoryBut->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxSimpleDlg::OnReadDirectory );
33 // button to select creaImageIO
34 wxButton *gimmickBut = new wxButton(this, -1,_T("Select thru Dicom browser"), wxPoint(10,70) );
35 Connect( gimmickBut->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxSimpleDlg::OnReadGimmick );
37 /// \TODO Button to select Bruker directory
42 //////////////////////////////////////////////////////////////////////
44 //////////////////////////////////////////////////////////////////////
45 void WxSimpleDlg::OnReadFile(wxCommandEvent& event)
48 wxFileDialog* fileDlg = new wxFileDialog( 0, _T("Select file"), _T(""), _T(""), crea::std2wx("*"), wxOPEN |wxFD_MULTIPLE, wxDefaultPosition);
50 resultShowModal = fileDlg->ShowModal();
51 if ( resultShowModal==wxID_OK )
53 wxArrayString wxArray;
54 fileDlg->GetPaths(wxArray);
57 /* typedef itk::Image< float, 4 > ImageType;
58 ReadImage<ImageType>(crea::wx2std(wxArray[0]).c_str());*/
60 infoimage=_T("FILE(s):")+wxArray[0];
61 std::vector<std::string> files;
62 for( int i = 0; i < wxArray.GetCount(); i++)
64 files.push_back( crea::wx2std(wxArray[i]));
66 if(!m_view.readFile(files,m_results))
68 //TO DO WARNING MESSAGE;
71 // TO DO WARNING MESSAGES
74 SetReturnCode( resultShowModal );
76 EndModal( resultShowModal );
79 //////////////////////////////////////////////////////////////////////
81 //////////////////////////////////////////////////////////////////////
83 void WxSimpleDlg::OnReadDirectory(wxCommandEvent &event)
86 long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST;
87 wxDirDialog* dirDlg = new wxDirDialog( 0, _T("Select the directory to display"), _T(""), style);
89 resultShowModal = dirDlg->ShowModal();
90 if ( resultShowModal==wxID_OK )
92 infoimage=_T("DIRECTORY:")+dirDlg->GetPath();
93 if(! m_view.readDirectory(crea::wx2std(dirDlg->GetPath()),m_results))
95 //TO DO WARNING MESSAGE;
98 SetReturnCode( resultShowModal );
100 EndModal( resultShowModal );
103 //////////////////////////////////////////////////////////////////////
105 //////////////////////////////////////////////////////////////////////
107 void WxSimpleDlg::OnReadGimmick(wxCommandEvent &event)
110 WxGimmickReaderDialog dlg(0,-1,
113 _T("Select image(s) - Gimmick! (c) CREATIS-LRMN 2008"),
116 GIMMICK_2D_IMAGE_SELECTION,
117 GIMMICK_3D_IMAGE_SELECTION,
121 if (dlg.GetReturnCode() == wxID_OK)
123 // infoimage=_T("DICOM: ???_EED_???");
124 //EED 07JUIN2010 dlg.GetSelectedImages(m_results,3);
125 std::vector<creaImageIO::OutStrGimmick> out;
126 std::vector<std::string> attr;
127 // attr.push_back("D0028_0010");
128 // attr.push_back("D0008_0023");
129 // attr.push_back("D0008_1070");
131 dlg.getSelected(out, attr,true,"");
132 // crea::VtkBasicSlicer(out.front().img);
136 for (ii=0;ii<size;ii++)
138 m_results.push_back(out[ii].img);
143 SetReturnCode( dlg.GetReturnCode() );
145 EndModal( dlg.GetReturnCode() );
148 wxString WxSimpleDlg::getInfoImage()
153 //////////////////////////////////////////////////////////////////////
154 // Return the results vector //
155 //////////////////////////////////////////////////////////////////////
156 std::vector<vtkImageData*> WxSimpleDlg::getImagesSelected()