From b935f54c82b090852001860eb12f5433779c22c4 Mon Sep 17 00:00:00 2001 From: Juan Prieto Date: Wed, 10 Dec 2008 15:48:44 +0000 Subject: [PATCH] *** empty log message *** --- .../interfMainPanel.cxx | 3 ++ .../interfMainPanel.h | 2 ++ .../interfSegmentationMenu.cxx | 2 +- .../interfSegmentationPanels.cxx | 34 ++++++++++++++++--- .../interfSegmentationPanels.h | 6 ++-- .../interfToolsMenu.cxx | 8 +++++ .../interfToolsMenu.h | 3 ++ .../wxContourMainFrame.cxx | 29 +++++++++++++++- .../wxContourMainFrame.h | 1 + .../wxContourViewPanel.cxx | 11 +++++- .../wxContourViewPanel.h | 4 +++ .../wxVtkBaseView_SceneManager.cxx | 2 +- .../KernelManagerContour.cxx | 14 ++++++++ .../KernelManagerContour.h | 1 + 14 files changed, 109 insertions(+), 11 deletions(-) diff --git a/lib/Interface_Icons_NDimensions/interfMainPanel.cxx b/lib/Interface_Icons_NDimensions/interfMainPanel.cxx index 21b1c63..5467ccd 100644 --- a/lib/Interface_Icons_NDimensions/interfMainPanel.cxx +++ b/lib/Interface_Icons_NDimensions/interfMainPanel.cxx @@ -670,3 +670,6 @@ wxString interfMainPanel::getCellValue(int j,int i){ return ((interfInformationPanel*)informationPanel)->getCellValue(j, i ); } +void interfMainPanel::onSnakePressed(){ + wxContourMainFrame::getInstance()->onSnakePressed(); +} diff --git a/lib/Interface_Icons_NDimensions/interfMainPanel.h b/lib/Interface_Icons_NDimensions/interfMainPanel.h index 559973a..0ded704 100644 --- a/lib/Interface_Icons_NDimensions/interfMainPanel.h +++ b/lib/Interface_Icons_NDimensions/interfMainPanel.h @@ -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: diff --git a/lib/Interface_Icons_NDimensions/interfSegmentationMenu.cxx b/lib/Interface_Icons_NDimensions/interfSegmentationMenu.cxx index 545db77..5491252 100644 --- a/lib/Interface_Icons_NDimensions/interfSegmentationMenu.cxx +++ b/lib/Interface_Icons_NDimensions/interfSegmentationMenu.cxx @@ -69,7 +69,7 @@ void interfSegmentationMenu::onSegmentationPressedITK(wxCommandEvent& event){ void interfSegmentationMenu::onSnakePressed(wxCommandEvent& event){ - //contourevent->onSnakePressed(this); + interfMainPanel::getInstance()->onSnakePressed(); } diff --git a/lib/Interface_Icons_NDimensions/interfSegmentationPanels.cxx b/lib/Interface_Icons_NDimensions/interfSegmentationPanels.cxx index e5df466..cc424a5 100644 --- a/lib/Interface_Icons_NDimensions/interfSegmentationPanels.cxx +++ b/lib/Interface_Icons_NDimensions/interfSegmentationPanels.cxx @@ -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);*/ + } //------------------------------------------------------------------------------------------------------------ diff --git a/lib/Interface_Icons_NDimensions/interfSegmentationPanels.h b/lib/Interface_Icons_NDimensions/interfSegmentationPanels.h index 506115d..605e1b1 100644 --- a/lib/Interface_Icons_NDimensions/interfSegmentationPanels.h +++ b/lib/Interface_Icons_NDimensions/interfSegmentationPanels.h @@ -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: diff --git a/lib/Interface_Icons_NDimensions/interfToolsMenu.cxx b/lib/Interface_Icons_NDimensions/interfToolsMenu.cxx index 535a86f..29dc32b 100644 --- a/lib/Interface_Icons_NDimensions/interfToolsMenu.cxx +++ b/lib/Interface_Icons_NDimensions/interfToolsMenu.cxx @@ -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); +} + diff --git a/lib/Interface_Icons_NDimensions/interfToolsMenu.h b/lib/Interface_Icons_NDimensions/interfToolsMenu.h index 4cea969..86a51ba 100644 --- a/lib/Interface_Icons_NDimensions/interfToolsMenu.h +++ b/lib/Interface_Icons_NDimensions/interfToolsMenu.h @@ -2,6 +2,7 @@ #define __interfToolsMenuH__ #include +#include #include "interfMenuBar.h" @@ -29,6 +30,8 @@ public: void onConfigurationPressed(wxCommandEvent& event); + void onHelpPressed(wxCommandEvent& event); + private: //wxContourEventHandler* contourevent; diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx index 2560082..e0947b0 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx @@ -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 vecX; + std::vector vecY; + std::vector vecZ; + _theViewPanel->GetPointsOfActualContour( &vecX , &vecY , &vecZ ); + + if (vecX.size()!=0){ + std::vector tempVector; + _instantPanel->getInstant( tempVector ); + int i,size=vecZ.size(); + int actualSlice = tempVector[1]; + for ( i=0 ; iShowModal(); + } // if + +} diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h index 706382b..50a923f 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h @@ -258,6 +258,7 @@ class wxContourMainFrame : public wxPanel { void onChangeInstantInstantPanel(std::string name,int value, int minshow, int maxshow); + void onSnakePressed(); private: //------------------------------------------------------------------------------------------------------------ // Private methods diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx b/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx index c2b2b2b..8d271f8 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.cxx @@ -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 *vecX, std::vector *vecY, std::vector *vecZ ){ _sceneManager->GetPointsOfActualContour(vecX, vecY, vecZ); + } + + void wxContourViewPanel::setImageSlice(int z){ + _sceneManager->getWxVtkViewBase()->GetInteractorStyleBaseView()->GetWxVtk2DBaseView()->SetActualSlice(z); + RefreshInterface(); } \ No newline at end of file diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.h b/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.h index 729bdb3..d639d53 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourViewPanel.h @@ -325,6 +325,10 @@ class wxContourViewPanel : public wxPanel {// public wxScrolledWindow { void GetPointsOfActualContour( std::vector *vecX, std::vector *vecY, std::vector *vecZ ); void changeImage(vtkImageData* img); + + void changeDeep(); + + void setImageSlice(int z); private: //------------------------------------------------------------------------------------------------------------ diff --git a/lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx b/lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx index 7fe68cb..2a33f4a 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxVtkBaseView_SceneManager.cxx @@ -821,7 +821,7 @@ DEFINE_EVENT_TYPE( wxEVT_CHANGED_DEEP ) _lastInteractionName = iter->first; viewer->UpdateColorActor(); - control->SetPosibleToMove( true ); + control->SetPosibleToMove( true ); // viewer->AddCompleteContourActor(); } iter++; diff --git a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx index b62a9b6..10a3c4c 100644 --- a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx +++ b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx @@ -60,6 +60,20 @@ std::vector KernelManagerContour::getVectImages(){ return vectimages; } void KernelManagerContour::setVectImages(std::vector 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; } diff --git a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h index ec6cd21..296fbca 100644 --- a/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h +++ b/lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h @@ -15,6 +15,7 @@ #include "ContourPropagation.h" +#include class KernelManagerContour{ -- 2.45.1