]> Creatis software - creaContours.git/commitdiff
*** empty log message ***
authorJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Wed, 10 Dec 2008 15:48:44 +0000 (15:48 +0000)
committerJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Wed, 10 Dec 2008 15:48:44 +0000 (15:48 +0000)
14 files changed:
lib/Interface_Icons_NDimensions/interfMainPanel.cxx
lib/Interface_Icons_NDimensions/interfMainPanel.h
lib/Interface_Icons_NDimensions/interfSegmentationMenu.cxx
lib/Interface_Icons_NDimensions/interfSegmentationPanels.cxx
lib/Interface_Icons_NDimensions/interfSegmentationPanels.h
lib/Interface_Icons_NDimensions/interfToolsMenu.cxx
lib/Interface_Icons_NDimensions/interfToolsMenu.h
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h
lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx
lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.h
lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx
lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx
lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h

index 21b1c63..5467ccd 100644 (file)
@@ -670,3 +670,6 @@ wxString interfMainPanel::getCellValue(int j,int i){
        return ((interfInformationPanel*)informationPanel)->getCellValue(j, i );
 }
 
+void interfMainPanel::onSnakePressed(){
+    wxContourMainFrame::getInstance()->onSnakePressed();
+}
index 559973a..0ded704 100644 (file)
@@ -164,6 +164,8 @@ public:
        void onSaveResults(std::string directory,std::string namefile, std::string filename,int typeContourGroup);
 
        wxString getCellValue(int j,int i);
+
+       void onSnakePressed();
 private:
        
 
index 545db77..5491252 100644 (file)
@@ -69,7 +69,7 @@ void  interfSegmentationMenu::onSegmentationPressedITK(wxCommandEvent& event){
 
 void  interfSegmentationMenu::onSnakePressed(wxCommandEvent& event){
     
-       //contourevent->onSnakePressed(this);
+       interfMainPanel::getInstance()->onSnakePressed();
 
 }
 
index e5df466..cc424a5 100644 (file)
@@ -99,11 +99,6 @@ void  interfSegmentationPanelVTK::onSegmentationPressedITK(wxCommandEvent& event
        //axisshown = true;
 }
 
-void  interfSegmentationPanelVTK::onSnakePressed(wxCommandEvent& event){
-    
-       //contourevent->onSnakePressed(this);
-
-}
 void interfSegmentationPanelVTK::onSegmentationOneSlice( wxCommandEvent& event )
 {
 
@@ -147,6 +142,10 @@ interfSegmentationPanelITK::interfSegmentationPanelITK(wxWindow * parent)
 
        wxButton *segmentationOneSliceBtn       = new wxButton(this,-1,_T("Current slice"), wxDefaultPosition, wxSize(200,35) );
        wxButton *segmentationAllSliceBtn       = new wxButton(this,-1,_T("All slices") ,wxDefaultPosition, wxSize(200,35) );
+
+       Connect( segmentationOneSliceBtn->GetId(),   wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &interfSegmentationPanelITK::onSegmentationOneSlice); 
+       Connect( segmentationAllSliceBtn->GetId(),   wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &interfSegmentationPanelITK::onSegmentationAllSlice); 
+
        _isovalue                                                       = new wxSlider(this, -1, 40 , (int)(range[0]), (int)(range[1]), wxDefaultPosition, wxSize(200,35), wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
        _sampling                                                       = new wxSlider(this, -1, 20 , 4, 50, wxDefaultPosition, wxSize(200,35), wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
        wxString lstOptions[3];
@@ -193,6 +192,31 @@ interfSegmentationPanelITK::interfSegmentationPanelITK(wxWindow * parent)
 }
 interfSegmentationPanelITK::~interfSegmentationPanelITK(){
 
+}
+
+void interfSegmentationPanelITK::onSegmentationOneSlice( wxCommandEvent& event )
+{
+
+
+       /*int                           isovalue        = _isovalue->GetValue();
+       int                             sampling        = _sampling->GetValue();
+       int method = methodRadiobox->GetSelection();
+       interfMainPanel::getInstance()->onSegmentationOneSlice(isovalue, sampling, method);*/
+       
+}
+void interfSegmentationPanelITK::onSegmentationAllSlice( wxCommandEvent& event )
+{
+
+       /*int minZ=_mbarrange->GetStart();
+       int maxZ=_mbarrange->GetEnd();
+
+       int                             isovalue        = _isovalue->GetValue();
+       int                             sampling        = _sampling->GetValue();
+       int method = methodRadiobox->GetSelection();
+
+
+       interfMainPanel::getInstance()->onSegmentationAllSlice(minZ, maxZ, isovalue, sampling, method);*/
+       
 }
 //------------------------------------------------------------------------------------------------------------
 
index 506115d..605e1b1 100644 (file)
@@ -23,8 +23,6 @@ public:
 
        void  onSegmentationPressedITK(wxCommandEvent& event);
 
-       void  onSnakePressed(wxCommandEvent& event);
-
        void setLabel(wxString tmpString);
 
 private:
@@ -63,6 +61,10 @@ public:
        interfSegmentationPanelITK(wxWindow * parent);          
        ~interfSegmentationPanelITK();
 
+
+       void onSegmentationOneSlice( wxCommandEvent& event );
+
+       void onSegmentationAllSlice( wxCommandEvent& event );
        
 private:
 
index 535a86f..29dc32b 100644 (file)
@@ -39,6 +39,10 @@ void interfToolsMenu::initButtons(wxEvtHandler* evtHandler) {
        nom.push_back("Configuration of the window");
        funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onConfigurationPressed);
 
+       path.push_back(datadir + "/Help.png");
+       nom.push_back("Show help page with information about the tools");
+       funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onHelpPressed);
+
        this->addButtons(path, nom);    
        this->setVectorFunction(funct);
 
@@ -84,3 +88,7 @@ void  interfToolsMenu::onConfigurationPressed(wxCommandEvent& event){
 
 }
 
+void interfToolsMenu::onHelpPressed(wxCommandEvent& event){
+       wxLaunchDefaultBrowser("http://www.creatis.insa-lyon.fr/creatools/node/25", 0);
+}
+
index 4cea969..86a51ba 100644 (file)
@@ -2,6 +2,7 @@
 #define __interfToolsMenuH__
 
 #include <wx/wx.h>
+#include <wx/utils.h>
 
 
 #include "interfMenuBar.h"
@@ -29,6 +30,8 @@ public:
 
        void  onConfigurationPressed(wxCommandEvent& event);
 
+       void onHelpPressed(wxCommandEvent& event);
+
 private:
 
        //wxContourEventHandler* contourevent;
index 2560082..e0947b0 100644 (file)
@@ -611,7 +611,10 @@ void wxContourMainFrame::updateInstantImageData(){
        vtkImageData* img = kernelManager->getImageAtInstant(inst);
        if(img!=NULL){
                _theViewPanel->changeImage(img);
-       }       
+       }else{
+               int z = _instantPanel->getConceptDataOf("Axe Depth")->getActualValue();
+               _theViewPanel->setImageSlice(z);
+       }
 }
 void wxContourMainFrame::updateInstantAxes(){
 }
@@ -1699,3 +1702,27 @@ void wxContourMainFrame::onChangeInstantInstantPanel(std::string name,int value,
 
        changeInstant();
 }
+
+void wxContourMainFrame::onSnakePressed(){
+       std::vector<double> vecX; 
+       std::vector<double> vecY; 
+       std::vector<double> vecZ; 
+       _theViewPanel->GetPointsOfActualContour( &vecX , &vecY , &vecZ );       
+
+       if (vecX.size()!=0){
+               std::vector<int> tempVector;
+               _instantPanel->getInstant( tempVector );
+               int i,size=vecZ.size();
+               int actualSlice = tempVector[1];
+               for ( i=0 ; i<size ; i++ )
+               {
+                       vecZ[i] = actualSlice;
+               } // for
+
+               wxDialog* dialog = new wxDialog(this, -1, wxString(_T("Snake")));
+               wxPanel* panel = new wxPanel(dialog,-1); 
+               wxStaticText* sttext = new wxStaticText(panel, -1, wxString(_T("Panel para snake")));
+               dialog->ShowModal();
+       } // if 
+
+}
index 706382b..50a923f 100644 (file)
@@ -258,6 +258,7 @@ class wxContourMainFrame : public wxPanel {
 
        void onChangeInstantInstantPanel(std::string name,int value, int minshow, int maxshow);
 
+       void onSnakePressed();
 private:
        //------------------------------------------------------------------------------------------------------------
        //  Private methods
index c2b2b2b..8d271f8 100644 (file)
@@ -680,12 +680,16 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE )
        }
        void wxContourViewPanel::onChangedDeep (wxCommandEvent& event){
                double val = getCurrentDeep();
-               setActualVertical( (int)val );
+               //setActualVertical( (int)val );
                wxContourMainFrame::getInstance()->onChangeDeep((int)val);
                //_instantPanel->setConceptValue( "Axe Depth", (int)val );
                
 //             changeInstant();
        }
+       void wxContourViewPanel::changeDeep(){
+               double val = getCurrentDeep();
+               setActualVertical( (int)val );
+       }
        void wxContourViewPanel::onActionButtonPressed(wxCommandEvent& event){
        }
 
@@ -763,4 +767,9 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHANGE )
 
        void wxContourViewPanel::GetPointsOfActualContour( std::vector<double> *vecX, std::vector<double> *vecY, std::vector<double> *vecZ ){
                _sceneManager->GetPointsOfActualContour(vecX, vecY, vecZ);
+       }
+
+       void wxContourViewPanel::setImageSlice(int z){
+               _sceneManager->getWxVtkViewBase()->GetInteractorStyleBaseView()->GetWxVtk2DBaseView()->SetActualSlice(z);
+               RefreshInterface();
        }
\ No newline at end of file
index 729bdb3..d639d53 100644 (file)
@@ -325,6 +325,10 @@ class wxContourViewPanel : public wxPanel {// public wxScrolledWindow {
        void GetPointsOfActualContour( std::vector<double> *vecX, std::vector<double> *vecY, std::vector<double> *vecZ );
 
        void changeImage(vtkImageData* img);
+
+       void changeDeep();
+
+       void setImageSlice(int z);
 private:
        
        //------------------------------------------------------------------------------------------------------------
index 7fe68cb..2a33f4a 100644 (file)
@@ -821,7 +821,7 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP )
                                                _lastInteractionName    = iter->first;
 
                                                viewer->UpdateColorActor();
-                                               control->SetPosibleToMove( true );                                              
+                                               control->SetPosibleToMove( true );
                                                // viewer->AddCompleteContourActor();
                                        }
                                        iter++;
index b62a9b6..10a3c4c 100644 (file)
@@ -60,6 +60,20 @@ std::vector<vtkImageData*> KernelManagerContour::getVectImages(){
        return vectimages;
 }
 void KernelManagerContour::setVectImages(std::vector<vtkImageData*> vectimg){
+
+       for(int i = 0; i < vectimg.size(); i++){
+               vtkImageData* img = vectimg[i];
+               vtkImageChangeInformation* change = vtkImageChangeInformation::New();
+               change->SetInformationInput(img);
+               change->SetInputConnection(img->GetProducerPort());
+
+               change->SetOutputSpacing(0.6,0.6,0.6);
+               
+               change->Update();
+
+               vectimg[i] = change->GetOutput();
+       }
+
        vectimages = vectimg;
 }