From: Eduardo Davila Date: Fri, 13 Feb 2009 13:03:39 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: EED.02Oct2009~68 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=89f5bbefcd87de09f9c8d60e1d8fecabec554a1c;p=creaContours.git *** empty log message *** --- diff --git a/appli/wxContourGUIExample/wxContourGUIExample.cxx b/appli/wxContourGUIExample/wxContourGUIExample.cxx index 45815f4..ddf28af 100644 --- a/appli/wxContourGUIExample/wxContourGUIExample.cxx +++ b/appli/wxContourGUIExample/wxContourGUIExample.cxx @@ -39,6 +39,44 @@ wxContourMainFrame* wxTheApplication::frame = 0; // This macro implements the entry point (main function) for the application //---------------------------------------------------------------------------------------------------------------- + +//EED +// http://lists.wxwidgets.org/archive/wx-dev/msg30449.html +wxString getExecutablePath() +{ + char buf[512]; + char* slash; + +#if defined(WIN32) + GetModuleFileName(NULL, buf, 511); + slash = strrchr(buf, '\\'); + if (slash) + { + *slash = 0; + } +#elif defined(__LINUX__) + int res; + res = readlink("/proc/self/exe", buf, 512); + if (res == -1) + return _T(""); + buf[res] = 0; + slash = strrchr(buf, '/'); + if (slash) + { + *slash = 0; + } +#else + return ""; +#endif + + return wxString(buf, wxConvUTF8 ); +} + + + + + + IMPLEMENT_APP( wxTheApplication ); /* @@ -61,156 +99,6 @@ void wxAppConsole::OnAssertFailure(char const *,int,char const *,char const *,ch bool wxTheApplication :: OnInit() { - -//------------------------------------------------------------- -// Doing what is done by the bbtk boxes - //vtkMetaImageReader *reader = vtkMetaImageReader::New(); -// reader->SetFileName( "data\\hola.mhd" ); -// reader->SetFileName( "C:/Program Files/bbtk-1.0/data/vtk/img02.maracas.mhd" ); -// reader->SetFileName( "C:/Program Files/bbtk-1.0/data/vtk/test01.maracas.mhd" ); -// reader->SetFileName( "C:/download/Elise/Elise_IRM_Helium/A/test01b.maracas.mhd" ); - - //wxFileDialog dialog(NULL, _T("Choose a file"), _T(""), _T(""), _T("*.mhd"), wxOPEN ); - //if (dialog.ShowModal() == wxID_OK) - //{ - // std::string filename = (const char *)(dialog.GetPath().mb_str()); - // reader->SetFileName( filename.c_str() ); - //} else { - // reader->SetFileName( "data\\hola.mhd" ); -// Halt(0); - //} - - //reader->Update(); -/*JCP 17-10-2008 - wxInitAllImageHandlers(); - - int image_type = GIMMICK_3D_IMAGE_SELECTION; - int threads = 1; - - creaImageIO::WxGimmickDialog w(0, - -1, - _T("WxGimmickDialog test"), - wxDefaultPosition, - wxSize(1200,800), - image_type, - threads); - w.ShowModal(); - - vtkImageData* selectedimage=NULL; - if(w.GetReturnCode() == wxID_OK){ - - std::vector s; - w.GetSelectedFiles(s); - std::vector::iterator i; - for (i=s.begin();i!=s.end();++i){ - std::cout << *i << std::endl; - } - - std::cout << "$$$$ "< images; - w.GetSelectedImages(images); - selectedimage = images[0]; - //crea::VtkBasicSlicer(images.front()); - //images.front()->Delete(); - - }else if (w.GetReturnCode() == wxID_CANCEL){ - vtkMetaImageReader *reader = vtkMetaImageReader::New(); - reader->SetFileName( "data/hola.mhd" ); - reader->Update(); - selectedimage = reader->GetOutput(); - }else{ - return TRUE; - } - - std::string conceptsFN = "data/holaConceptsFile.cf"; - std::string imageSourcesFN = "data/holaImagesInstantsFile.of"; - std::string imageSectionsFN = ""; - std::string axeThingsFN = ""; - - std::map * sourcesMap = new std::map(); - std::map* sectionsMap = new std::map(); - std::map* axesMap = new std::map(); - std::map* outlinesMap = new std::map(); - - ImageSourceThing * thing = new ImageSourceThing(selectedimage); - sourcesMap->insert(std::pair( "Source Image 1", thing)); - - OutlineModelBuilder * _builder = new OutlineModelBuilder( conceptsFN ); - _builder->buildImageSource_Envornment( imageSourcesFN, sourcesMap ); - _builder->buildImageSection_Envornment( imageSectionsFN, sectionsMap ); - _builder->buildAxe_Envornment(axeThingsFN, axesMap ); - _builder->buildCountour_Envornment( imageSectionsFN, outlinesMap ); - -//------------------------------------------------------------- - - //frame = new wxContourMainFrame(_builder->getImSourceEnv(), _builder->getImSectionEnv(), _builder->getAxesEnv(), _builder->getContourEnv(),NULL, wxID_ANY, wxT("ROI Application Sample"), wxPoint(50,50), wxSize(800, 600)); - //frame->Show(TRUE); - - //Creating the evtHandler of the panels - wxContourEventHandler * eventHandler = new wxContourEventHandler(); - - //Creating the window that will show the panels -//JCP 21 - 10 - 08 - //wxFrame* frame1 = new wxFrame(NULL, wxID_ANY, wxT("ROI Application - Evaluation version, 23 Oct 2008 - Use limited to the research team (Creatis-LRMN)"), wxPoint(50,50), wxSize(800, 600) ); - wxFrame* frame1 = new wxFrame(NULL, wxID_ANY, wxT("ROI Application - Evaluation version, 23 Oct 2008 "), wxPoint(50,50), wxSize(800, 600) ); - frame = new wxContourMainFrame( frame1, wxID_ANY, wxString(_T("")), wxPoint(50,50), wxSize(800, 600) ); - - //frame = new wxContourMainFrame( NULL, wxID_ANY, wxT("ROI Application - Evaluation version, 17 Oct 2008 - Use limited to the research team (Creatis-LRMN)"), wxPoint(50,50), wxSize(800, 600) ); - frame1->CreateStatusBar(); -//JCP 21 - 10 - 08 - //Getting the parent for the panels ( using aui ) - wxAuiNotebook * parent = frame->createNotebook(); - - //Creating the objects to manage - OutlineModelManager * modelManager = new OutlineModelManager( _builder->getImSourceEnv(), _builder->getImSectionEnv(), _builder->getAxesEnv(), _builder->getContourEnv() ); - - wxInstantChooserPanel * instantPanel = new wxInstantChooserPanel( parent, "Instant Chooser", true ); - ImageSourceThing * imageSource = modelManager->getImageSourceThingByKeyName( "Source Image 1" ); - wxContourViewPanel * theViewPanel = new wxContourViewPanel( imageSource->getSourceImage(), parent ); - //wxContour_ButtonsBar * buttons = new wxContour_ButtonsBar(frame, -1, wxDefaultPosition, wxDefaultSize); - - eventHandler->setModelManager( modelManager ); - eventHandler->setViewPanel( theViewPanel ); - eventHandler->setInstantChooserPanel( instantPanel ); - //eventHandler->setButtonsBar( buttons ); - //JCP 17 - 10 - 08 - //buttons->Show(false); - //JCP 17 - 10 - 08 - bool successConfiuration = eventHandler->configureEventsHandling(); - - frame->setViewPanel( theViewPanel ); - frame->setInstantChooserPanel( instantPanel ); - //JCP 17 - 10 - 08 -// frame->setButtonsBar( buttons ); - //JCP 17 - 10 - 08 - successConfiuration &= frame->configurePanels( parent ); - - //JCP 17 - 10 - 08 - //buttons->Show(false); - //JCP 17 - 10 - 08 - - - //frame->Show(TRUE); - frame1->Show(TRUE); - //JCP 17 - 10 - 08 - //if ( successConfiuration ) - //{ - // frame->Show(TRUE); - //} - -// SetTopWindow(frame); - -//JCP -- new Interface - interfMainPanel* pannew = interfMainPanel::getInstance(frame1, eventHandler); - - //pannew->addContourCheckBox("contour1"); - //pannew->addContourCheckBox("contour3"); - //pannew->addContourCheckBox("contour2"); - //pannew->addContourCheckBox("contour4"); -//JCP -- new Interface - -JCP 17-10-2008*/ - wxInitAllImageHandlers(); @@ -245,7 +133,8 @@ JCP 17-10-2008*/ }else if (w.GetReturnCode() == wxID_CANCEL){ vtkMetaImageReader *reader = vtkMetaImageReader::New(); - reader->SetFileName( "data/hola.mhd" ); + wxString filename= getExecutablePath()+ wxString( _T("/data/hola.mhd") , wxConvUTF8 ); + reader->SetFileName( filename.c_str() ); reader->Update(); images.push_back(reader->GetOutput()); }else{ @@ -256,7 +145,7 @@ JCP 17-10-2008*/ wxFrame* frame1 = new wxFrame(NULL, wxID_ANY, wxT("ROI Application - Evaluation version, 09 Feb 2009 "), wxPoint(400,50), wxSize(800, 600) ); //frame = new wxContourMainFrame( frame1, wxID_ANY, wxString(_T("")), wxPoint(50,50), wxSize(800, 600), images ); - frame = wxContourMainFrame::getInstance(frame1, wxID_ANY, wxString(_T("")), wxPoint(200,50), wxSize(800, 600), images ); + frame = wxContourMainFrame::getInstance(frame1, wxID_ANY, wxString(_T("")), wxPoint(200,50), wxSize(800, 600), images, wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER,(const char*)( getExecutablePath().mb_str() ) ); frame1->CreateStatusBar(); frame1->Show(TRUE); diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx index 969ac05..bbee55d 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx @@ -62,7 +62,7 @@ char wxContourMainFrame::COPY = 'C'; } -wxContourMainFrame :: wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style) + wxContourMainFrame :: wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style,std::string datadir) : wxPanel(parent, id, pos, size, style) { m_mgr.SetManagedWindow(this); @@ -94,7 +94,7 @@ wxContourMainFrame :: wxContourMainFrame(wxWindow* parent, wxWindowID id,const w inredo = 0; inundo = 0; - kernelManager = new KernelManagerContour(images); + kernelManager = new KernelManagerContour(images,datadir+"/data/"); //kernelManager->setVectImages(images); //kernelManager->initializeEnvironment(); @@ -147,7 +147,7 @@ wxContourMainFrame :: wxContourMainFrame(wxWindow* parent, wxWindowID id,const w //successConfiuration &= this->configurePanels( notebook ); this->configurePanels( notebook ); - interfMainPanel* pannew = interfMainPanel::getInstance(parent);//, eventHandler); + interfMainPanel* pannew = interfMainPanel::getInstance(parent,datadir+"/data/Icons");//, eventHandler); //JCP 17 -10 - 2008 @@ -155,9 +155,9 @@ wxContourMainFrame :: wxContourMainFrame(wxWindow* parent, wxWindowID id,const w } - wxContourMainFrame* wxContourMainFrame :: getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style ){ + wxContourMainFrame* wxContourMainFrame :: getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style,std::string datadir ){ if(instance == NULL){ - instance = new wxContourMainFrame(parent, id, title, pos, size, images, style); + instance = new wxContourMainFrame(parent, id, title, pos, size, images, style,datadir); } return instance; } diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h index c3dcaf7..fb5477a 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h @@ -98,7 +98,7 @@ class wxContourMainFrame : public wxPanel { wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,long style = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER); - wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER); + wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER,std::string datadir=""); ~wxContourMainFrame(); @@ -151,7 +151,7 @@ class wxContourMainFrame : public wxPanel { //------------------------------------------------------------------------------------------------------------ // Attributes getters and setters //------------------------------------------------------------------------------------------------------------ - static wxContourMainFrame* getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER); + static wxContourMainFrame* getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER, std::string datadir=""); static wxContourMainFrame* getInstance(); //------------------------------------------------------------------------------------------------------------ // Other functional methods diff --git a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx index 44b5671..873f710 100644 --- a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx +++ b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx @@ -34,7 +34,7 @@ KernelManagerContour::KernelManagerContour(){ **/ } -KernelManagerContour::KernelManagerContour(std::vector images){ +KernelManagerContour::KernelManagerContour(std::vector images,std::string datadir){ /**THIS ALL SHOULD BE IN AN OTHER LIB CALLED PERSISTANCE @@ -48,7 +48,7 @@ KernelManagerContour::KernelManagerContour(std::vector images){ int time = seconds; - stundoredo = "data/temp"+intToString(time); + stundoredo = datadir+"/temp"+intToString(time); _currentIndex = 0; _contourPropagation = NULL; @@ -62,7 +62,7 @@ KernelManagerContour::KernelManagerContour(std::vector images){ ** FINISH PERSISTANCE **/ setVectImages(images); - initializeEnvironment(); + initializeEnvironment(datadir); } KernelManagerContour::~KernelManagerContour(){ @@ -89,9 +89,9 @@ void KernelManagerContour::setVectImages(std::vector vectimg){ vectimages = vectimg; } -void KernelManagerContour::initializeEnvironment(){ - std::string conceptsFN = "data/holaConceptsFile.cf"; - std::string imageSourcesFN = "data/holaImagesInstantsFile.of"; +void KernelManagerContour::initializeEnvironment(std::string datadir){ + std::string conceptsFN = datadir+"holaConceptsFile.cf"; + std::string imageSourcesFN = datadir+"holaImagesInstantsFile.of"; std::string imageSectionsFN = ""; std::string axeThingsFN = ""; @@ -108,7 +108,7 @@ void KernelManagerContour::initializeEnvironment(){ } - OutlineModelBuilder * _builder = new OutlineModelBuilder( conceptsFN ); + OutlineModelBuilder * _builder = new OutlineModelBuilder( conceptsFN ,datadir); _builder->buildImageSource_Envornment( imageSourcesFN, sourcesMap ); _builder->buildImageSection_Envornment( imageSectionsFN, sectionsMap ); _builder->buildAxe_Envornment(axeThingsFN, axesMap ); diff --git a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h index 7e4d4dc..067cbf3 100644 --- a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h +++ b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h @@ -33,7 +33,7 @@ public: ** If images are available before the construction of the kernelManager this method should be used ** it sets the vector images and initializes the environment **/ - KernelManagerContour(std::vector images); + KernelManagerContour(std::vector images,std::string datadir); ~KernelManagerContour(); std::vector getVectImages(); @@ -46,7 +46,7 @@ public: - void initializeEnvironment(); + void initializeEnvironment(std::string datadir); /**