]> 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 21b1c630403aecab2f414f13af5a19aaa02e46c7..5467ccdfe4bd1c8b310d6de77a6738608a4a09a4 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 559973a640a8eca8ac75f58cf25b5727b42189ea..0ded70450fd0e97179347a8071bda76df517dc60 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 545db77fce00c34d161d0f0dca816ba66f645784..5491252cd4f44e7c1d6f58cbe269d20e94fb78c1 100644 (file)
@@ -69,7 +69,7 @@ void  interfSegmentationMenu::onSegmentationPressedITK(wxCommandEvent& event){
 
 void  interfSegmentationMenu::onSnakePressed(wxCommandEvent& event){
     
-       //contourevent->onSnakePressed(this);
+       interfMainPanel::getInstance()->onSnakePressed();
 
 }
 
index e5df466af2f587ea4830d8da9af6de88f033fc05..cc424a5d818c929211a319c902bc04021c650c2a 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 506115d91e1873ea62d28d36411fbda4f2b65ee0..605e1b1d44aee0786b3d31b5c28f9fc4da5869fa 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 535a86ff7fc0eff02075da6cc8f98bad19b9697b..29dc32be9a7ea4160edf4bf287bf7ea64a533159 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 4cea9696883d64cde2576dc2d07780b83ade67fa..86a51ba8c082dc9c842d7aed9b627cd7c64fe17a 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 256008211255846d9b8ce3e40c998e1a3949549e..e0947b072cc35f9aff7b0cf9d9efc5bdd64e87e1 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 706382b81dca7ee3cf3e3b899921e22161fec1f8..50a923f57617e374d6abc233c90aa39ecef1d8bc 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 c2b2b2be969d6d537dc81880df61b8afa1f59f1d..8d271f898c35797f8139a6400162cc53916e4137 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 729bdb3f959fa3428d7e3f4bd2ea696d14e21135..d639d53a3a65853bf515135cdd700ccb0400b60b 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 7fe68cbaeb4aa7a5d09ea6ed6ac7937b22ca1898..2a33f4a1ecc6966990bcb1f397018b1ba0cee35f 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 b62a9b6412460900abb61748bfa4f3f40e29cfa6..10a3c4cb22a0f32ab8466ddbfe26566b7d0b0acd 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;
 }
 
index ec6cd2131e83351a170d28231c7077b4c65f673a..296fbca1abe004b4778faa32ed2463bf81e990cb 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "ContourPropagation.h"
 
+#include <vtkImageChangeInformation.h>
 
 class KernelManagerContour{