X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FTestWxGimmickReaderDialog%2Fmain.cxx;h=a8265ec119a03b02d40c1f43987a136965ba6839;hb=52f3d800d1bfa583dbdf0115860cc183ca9319cd;hp=d6d179cbfb19554a662bd6900bce8728855f6123;hpb=b2aa225767df8c22bd10d4fa893c2327a1e19aa4;p=creaImageIO.git diff --git a/appli/TestWxGimmickReaderDialog/main.cxx b/appli/TestWxGimmickReaderDialog/main.cxx index d6d179c..a8265ec 100644 --- a/appli/TestWxGimmickReaderDialog/main.cxx +++ b/appli/TestWxGimmickReaderDialog/main.cxx @@ -1,9 +1,50 @@ +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la Santé) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ +*/ #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: @@ -15,8 +56,10 @@ IMPLEMENT_APP(myApp); CREA_WXMAIN_WITH_CONSOLE + + bool myApp::OnInit( ) -{ +{ wxApp::OnInit(); #ifdef __WXGTK__ //See http://www.wxwindows.org/faqgtk.htm#locale @@ -24,67 +67,135 @@ bool myApp::OnInit( ) #endif wxInitAllImageHandlers(); - /* - creaImageIO::SetGimmickMessageLevel(9); - creaImageIO::SetGimmickDebugMessageLevel(9); - */ + 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,800), - 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()); - images.front()->Delete(); - w.OnExit(); + //Puts images + /* std::vector images; + 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(); } else if (w.GetReturnCode() == wxID_CANCEL) { - w.OnExit(); + + w.OnExit(); std::cout << "$$$$ main : user clicked 'CANCEL' $$$$"<