]> Creatis software - creaContours.git/commitdiff
*** empty log message ***
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Fri, 13 Feb 2009 13:03:39 +0000 (13:03 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Fri, 13 Feb 2009 13:03:39 +0000 (13:03 +0000)
appli/wxContourGUIExample/wxContourGUIExample.cxx
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h
lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx
lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h

index 45815f4daef26d006c803875055aa272ef9af948..ddf28af5c096a10da2b457e2815c7406cd525149 100644 (file)
@@ -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<std::string> s;
-       w.GetSelectedFiles(s);
-       std::vector<std::string>::iterator i;
-          for (i=s.begin();i!=s.end();++i){
-                  std::cout << *i << std::endl;
-          }
-               
-          std::cout << "$$$$ "<<std::endl;
-       std::vector<vtkImageData*> 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<std::string, ImageSourceThing *> * sourcesMap          = new std::map<std::string, ImageSourceThing *>();
-       std::map<std::string, ImageSectionThing *>* sectionsMap         = new std::map<std::string, ImageSectionThing *>();
-       std::map<std::string, AxeThing *>* axesMap                                      = new std::map<std::string, AxeThing *>();
-       std::map<std::string, ContourThing *>* outlinesMap                      = new std::map<std::string, ContourThing *>();  
-
-       ImageSourceThing * thing                                                                        = new ImageSourceThing(selectedimage);
-       sourcesMap->insert(std::pair<std::string, ImageSourceThing *>( "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);
 
index 969ac05f0a3b145fe04addfcfcd85502e306971e..bbee55dfafe9f64bc2523254c2df1512fac714da 100644 (file)
@@ -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<vtkImageData*> images, long style)            
+       wxContourMainFrame :: wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector<vtkImageData*> 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<vtkImageData*> images, long style ){
+       wxContourMainFrame* wxContourMainFrame :: getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector<vtkImageData*> 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;
        }
index c3dcaf7d98dc28898b748f90978b6d2056181a7e..fb5477af7c9b21b05148550622c488f538afcdde 100644 (file)
@@ -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<vtkImageData*> images, long style  = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER);
+       wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector<vtkImageData*> images, long style  = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER,std::string datadir="<void>");
 
        ~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<vtkImageData*> 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<vtkImageData*> images, long style  = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER, std::string datadir="<void>");
        static wxContourMainFrame* getInstance();
        //------------------------------------------------------------------------------------------------------------
        //  Other functional methods
index 44b56718ccf1a57571b96d76157f7aa0f3a27615..873f7104270b1d8aa6492a20f4b6f6cd167ca972 100644 (file)
@@ -34,7 +34,7 @@ KernelManagerContour::KernelManagerContour(){
 **/
 
 }
-KernelManagerContour::KernelManagerContour(std::vector<vtkImageData*> images){
+KernelManagerContour::KernelManagerContour(std::vector<vtkImageData*> images,std::string datadir){
 
 
 /**THIS ALL SHOULD BE IN AN OTHER LIB CALLED PERSISTANCE
@@ -48,7 +48,7 @@ KernelManagerContour::KernelManagerContour(std::vector<vtkImageData*> 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<vtkImageData*> images){
 **  FINISH PERSISTANCE
 **/
        setVectImages(images);
-       initializeEnvironment();
+       initializeEnvironment(datadir);
 
 }
 KernelManagerContour::~KernelManagerContour(){
@@ -89,9 +89,9 @@ void KernelManagerContour::setVectImages(std::vector<vtkImageData*> 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 );
index 7e4d4dc298f7f57ed11b3ee741b8a31dbb2a5c29..067cbf34a6a0f0ffd0f12fa329662b525002f4cf 100644 (file)
@@ -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<vtkImageData*> images);
+       KernelManagerContour(std::vector<vtkImageData*> images,std::string datadir);
        ~KernelManagerContour();
 
        std::vector<vtkImageData*> getVectImages();
@@ -46,7 +46,7 @@ public:
 
        
 
-       void initializeEnvironment();
+       void initializeEnvironment(std::string datadir);
 
 
        /**