X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FTestWxGimmickReaderDialog%2Fmain.cxx;h=e2de0d0be1b2eb5ff85eb65b8738eabdf942e311;hb=bb9f988d623eff025e23ec37424cf33cd611c330;hp=f2885d18ea152884a0bceeb09c227dd0b44bd4fd;hpb=ab4f051eca01a4340f78587f97e89eeb46a8d8a7;p=creaImageIO.git diff --git a/appli/TestWxGimmickReaderDialog/main.cxx b/appli/TestWxGimmickReaderDialog/main.cxx index f2885d1..e2de0d0 100644 --- a/appli/TestWxGimmickReaderDialog/main.cxx +++ b/appli/TestWxGimmickReaderDialog/main.cxx @@ -1,9 +1,23 @@ #include #include #include - +#include "vtkMetaImageWriter.h" +#include "vtkMetaImageReader.h" #include + + +//#pragma comment(lib, "creaImageIO.lib") +//#pragma comment(lib, "DelayImp.lib") +// +// +//// Tell the linker that my DLL should be delay loaded +////#pragma comment(linker, "/DelayLoad:creaImageIO.Dll") +// +//// Tell the linker that I want to be able to unload my DLL +//#pragma comment(linker, "/Delay:unload") +// + class myApp : public wxApp { public: @@ -16,7 +30,7 @@ IMPLEMENT_APP(myApp); CREA_WXMAIN_WITH_CONSOLE bool myApp::OnInit( ) -{ +{ wxApp::OnInit(); #ifdef __WXGTK__ //See http://www.wxwindows.org/faqgtk.htm#locale @@ -24,67 +38,135 @@ bool myApp::OnInit( ) #endif wxInitAllImageHandlers(); - creaImageIO::SetGimmickMessageLevel(5); creaImageIO::SetGimmickDebugMessageLevel(0); - int min_dim = GIMMICK_2D_IMAGE_SELECTION; int max_dim = GIMMICK_3D_IMAGE_SELECTION; - int output_dim = NATIVE; - int threads = 1; - creaImageIO::WxGimmickReaderDialog w(0, - -1, - _T("Select image(s) - Gimmick! (c) CREATIS-LRMN 2008"), - wxDefaultPosition, - wxSize(600,750), - min_dim, - max_dim, - output_dim, - threads); +//EED +// int output_dim = NATIVE; + int output_dim = _3D; + + int threads = 1; + + creaImageIO::WxGimmickReaderDialog w( + 0, + -1, + "localdatabase_Descriptor.dscp", + "Local Database", + _T("Select image(s) - creaImageIOApp (c) CREATIS ( cnrs)"), + wxDefaultPosition, + wxSize(810,750), + min_dim, + max_dim, + output_dim, + + threads); + /* clock_t endwait; + endwait = clock () + CLOCKS_PER_SEC ; + while (clock() < endwait ) {}*/ w.ShowModal(); - + if (w.GetReturnCode() == wxID_OK) { std::cout << "$$$$ main : user clicked 'OK' $$$$"< s; w.GetSelectedFiles(s); std::vector::iterator i; for (i=s.begin();i!=s.end();++i) - { - std::cout << *i << std::endl; - } + { + std::cout << *i << std::endl; + } std::cout << "$$$$ "< images; - w.GetSelectedImages(images,output_dim); - - crea::VtkBasicSlicer(images.front()); + w.GetSelectedImages(images,3); + + + // First Exemple: + // We take all attributes from database + // but only for the first selected file. + // For the moment, no output model file (XML) + // std::vector out; + // std::vector attr; + // attr.push_back("ALL"); + // w.getSelected(out, attr, false,""); + + + // Second Exemple: + // We take all attributes from database + // but for all selected file. + // For the moment, no output model file (XML) + // std::vector out; + // std::vector attr; + // attr.push_back("ALL"); + // w.getSelected(out, attr,true,""); + + // Third Exemple: + // We take attributes from database and others + // but for all selected file. + // For the moment, no output model file (XML) + std::vector out; + std::vector attr; + attr.push_back("D0028_0010"); + attr.push_back("D0008_0023"); + attr.push_back("D0008_1070"); + w.getSelected(out, attr,true,""); + std::cout<Delete(); + w.OnExit(); + + +// images[1]->UpdateInformation(); + /* vtkMetaImageReader *r= vtkMetaImageReader::New(); + r->SetFileName("c:\\toto.mhd"); + double zz[3]; + images[0]->GetSpacing(zz); + + vtkMetaImageWriter* ww = vtkMetaImageWriter::New(); + ww->SetFileName("c:\\toto2.mhd"); + ww->SetInput(images[0]); + ww->GetInput()->ShallowCopy(images[0]); + ww->UpdateInformation(); + ww->GetInput()->GetSpacing(zz); + + +//>GetImageDataInput(0)->GetSpacing(zz); + images[0]->Delete(); + + ww->Write(); + ww->Delete(); +*/ + + + + + crea::VtkBasicSlicer(out.front().img); images.front()->Delete(); - w.OnExit(); + w.OnExit(); } else if (w.GetReturnCode() == wxID_CANCEL) { - w.OnExit(); + + w.OnExit(); std::cout << "$$$$ main : user clicked 'CANCEL' $$$$"<