1 #include <creaImageIOSystem.h>
3 #include <creaImageIOWxGimmickReaderDialog.h>
4 #include "vtkMetaImageWriter.h"
5 #include "vtkMetaImageReader.h"
6 #include <creaVtkBasicSlicer.h>
11 //#pragma comment(lib, "creaImageIO.lib")
12 //#pragma comment(lib, "DelayImp.lib")
15 //// Tell the linker that my DLL should be delay loaded
16 ////#pragma comment(linker, "/DelayLoad:creaImageIO.Dll")
18 //// Tell the linker that I want to be able to unload my DLL
19 //#pragma comment(linker, "/Delay:unload")
22 class myApp : public wxApp
26 int OnExit() { return true; }
31 CREA_WXMAIN_WITH_CONSOLE
39 //See http://www.wxwindows.org/faqgtk.htm#locale
40 setlocale(LC_NUMERIC, "C");
42 wxInitAllImageHandlers();
44 creaImageIO::SetGimmickMessageLevel(5);
45 creaImageIO::SetGimmickDebugMessageLevel(0);
47 int min_dim = GIMMICK_2D_IMAGE_SELECTION;
48 int max_dim = GIMMICK_3D_IMAGE_SELECTION;
51 // int output_dim = NATIVE;
56 creaImageIO::WxGimmickReaderDialog w(
59 "localdatabase_Descriptor.dscp",
61 _T("Select image(s) - creaImageIOApp (c) CREATIS ( cnrs)"),
70 endwait = clock () + CLOCKS_PER_SEC ;
71 while (clock() < endwait ) {}*/
74 if (w.GetReturnCode() == wxID_OK)
76 std::cout << "$$$$ main : user clicked 'OK' $$$$"<<std::endl;
77 std::cout << "$$$$ selected files : "<<std::endl;
79 std::vector<std::string> s;
80 w.GetSelectedFiles(s);
81 std::vector<std::string>::iterator i;
82 for (i=s.begin();i!=s.end();++i)
84 std::cout << *i << std::endl;
86 std::cout << "$$$$ "<<std::endl;
89 std::vector<vtkImageData*> images;
90 w.GetSelectedImages(images,3);
94 // We take all attributes from database
95 // but only for the first selected file.
96 // For the moment, no output model file (XML)
97 // std::vector<creaImageIO::OutStrGimmick> out;
98 // std::vector<std::string> attr;
99 // attr.push_back("ALL");
100 // w.getSelected(out, attr, false,"");
104 // We take all attributes from database
105 // but for all selected file.
106 // For the moment, no output model file (XML)
107 // std::vector<creaImageIO::OutStrGimmick> out;
108 // std::vector<std::string> attr;
109 // attr.push_back("ALL");
110 // w.getSelected(out, attr,true,"");
113 // We take attributes from database and others
114 // but for all selected file.
115 // For the moment, no output model file (XML)
116 std::vector<creaImageIO::OutStrGimmick> out;
117 std::vector<std::string> attr;
118 attr.push_back("D0028_0010");
119 attr.push_back("D0008_0023");
120 attr.push_back("D0008_1070");
121 w.getSelected(out, attr,true,"");
122 std::cout<<out.size()<<std::endl;
123 crea::VtkBasicSlicer(out.front().img);
124 out.front().img->Delete();
128 // images[1]->UpdateInformation();
129 /* vtkMetaImageReader *r= vtkMetaImageReader::New();
130 r->SetFileName("c:\\toto.mhd");
132 images[0]->GetSpacing(zz);
134 vtkMetaImageWriter* ww = vtkMetaImageWriter::New();
135 ww->SetFileName("c:\\toto2.mhd");
136 ww->SetInput(images[0]);
137 ww->GetInput()->ShallowCopy(images[0]);
138 ww->UpdateInformation();
139 ww->GetInput()->GetSpacing(zz);
142 //>GetImageDataInput(0)->GetSpacing(zz);
152 crea::VtkBasicSlicer(out.front().img);
153 images.front()->Delete();
157 else if (w.GetReturnCode() == wxID_CANCEL)
161 std::cout << "$$$$ main : user clicked 'CANCEL' $$$$"<<std::endl;
166 std::cout << "$$$$ main : dialog ended without return code ! $$$$"
171 // std::cout << "$$$$ main : deleting dialog"<<std::endl;
173 std::cout << "$$$$$$$$$$$$$$$$$$$$ main ended "<<std::endl;