nom.push_back("Redo ctrl + y");
funct.push_back((wxObjectEventFunction) &interfEditMenu:: onRedo);
-//CMRU 17-08-09 ------------------------------------------------------------------
- path.push_back(datadir + "/Letter.PNG");
- nom.push_back("Insert a Label");
- funct.push_back((wxObjectEventFunction)&interfEditMenu::onPrintLabel);
-//-------------------------------------------------------------------------------
this->addButtons(path, nom);
this->setVectorFunction(funct);
this->connectEvents(evtHandler);
}
-void interfEditMenu::onCopy(wxCommandEvent& event){
+void interfEditMenu::onCopy(wxCommandEvent& event)
+{
interfMainPanel::getInstance()->onCopy();
}
-void interfEditMenu::onPaste(wxCommandEvent& event){
+void interfEditMenu::onPaste(wxCommandEvent& event)
+{
interfMainPanel::getInstance()->onPaste();
}
-void interfEditMenu::onUndo(wxCommandEvent& event){
+
+void interfEditMenu::onUndo(wxCommandEvent& event)
+{
interfMainPanel::getInstance()->onUndo();
}
-void interfEditMenu::onRedo(wxCommandEvent& event){
+
+void interfEditMenu::onRedo(wxCommandEvent& event)
+{
interfMainPanel::getInstance()->onRedo();
}
-void interfEditMenu::onPrintLabel(wxCommandEvent& event){
- interfMainPanel::getInstance()->onPrintLabel();
-}
interfEditMenu::~interfEditMenu()
{
void onPaste(wxCommandEvent& event);
void onUndo(wxCommandEvent& event);
void onRedo(wxCommandEvent& event);
- void onPrintLabel(wxCommandEvent& event);
};
--- /dev/null
+#include "interfImageToolsMenu.h"
+#include "interfMainPanel.h"
+
+interfImageToolsMenu::interfImageToolsMenu(wxWindow * parent, int sizex, int sizey,wxEvtHandler* evtHandler, std::string datdir)
+ : interfMenuBar(parent, sizex, sizey)
+{
+ this->datadir = datdir;
+ //contourevent = (wxContourEventHandler*)evtHandler;
+
+/*Borrame
+ infoWin = NULL;
+ configPanel = NULL;
+ spreadPanel = NULL;
+ segmentPanelITK = NULL;
+*/
+
+ //eventHandler = evtHandler;
+
+ initButtons(this);
+}
+
+void interfImageToolsMenu::initButtons(wxEvtHandler* evtHandler) {
+
+ std::vector<std::string> path, nom;
+ std::vector<wxObjectEventFunction> funct;
+
+/*EED Borrame
+ path.push_back(datadir + "/Segmentation.png");
+ nom.push_back("Find shapes by automatic segmentation");
+ funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onSegmentationPressed);
+
+ path.push_back(datadir + "/ITK.png");
+ nom.push_back("Find shapes by automatic segmentation with ITK");
+ funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onSegmentationPressedITK);
+
+ path.push_back(datadir + "/snake.png");
+ nom.push_back("Find shapes using border snake interaction");
+ funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onSnakePressed);
+*/
+ path.push_back(datadir + "/pignon.png");
+ nom.push_back("Configuration of the window");
+ funct.push_back((wxObjectEventFunction) &interfImageToolsMenu:: onConfigurationPressed);
+
+ path.push_back(datadir + "/info.png");
+ nom.push_back("Information of the contours in the scene");
+ funct.push_back((wxObjectEventFunction) &interfImageToolsMenu:: onInformationPressed);
+
+ path.push_back(datadir + "/Threshold.png");
+ nom.push_back("Superpose a 'Red Image' to the selected Image Threshold");
+ funct.push_back((wxObjectEventFunction)&interfImageToolsMenu::onThreshold);
+
+ path.push_back(datadir + "/Threshold.png");
+ nom.push_back("Superpose a Color Image");
+ funct.push_back((wxObjectEventFunction)&interfImageToolsMenu::onColorLayerImage);
+
+ path.push_back(datadir + "/Help.png");
+ nom.push_back("Show help page with information about the tools");
+ funct.push_back((wxObjectEventFunction) &interfImageToolsMenu:: onHelpPressed);
+
+
+ this->addButtons(path, nom);
+ this->setVectorFunction(funct);
+
+ this->connectEvents(evtHandler);
+
+
+}
+
+interfImageToolsMenu::~interfImageToolsMenu()
+{
+}
+
+/**
+ ** Responds to the events of the buttons, when the same panel is responsible for it. It gets the name
+ ** of the button corresponding to the method that has to be executed,
+ ** it uses attribute eventHandler to call the methods define by the application.
+ ** see setEventHandler(wxEventHandler*)
+ **/
+
+/*EED Borrame
+void interfSegmentationMenu::onSegmentationPressed(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onSegmentationPressed();
+}
+
+void interfSegmentationMenu::onSegmentationPressedITK(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onSegmentationPressedITK();
+}
+
+void interfSegmentationMenu::onSnakePressed(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onSnakePressed();
+}
+*/
+
+void interfImageToolsMenu::onInformationPressed(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onInformationPressed();
+}
+
+void interfImageToolsMenu::onConfigurationPressed(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onConfigurationPressed();
+}
+
+void interfImageToolsMenu::onThreshold(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onThresholdPressed();
+}
+
+void interfImageToolsMenu::onColorLayerImage(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onColorLayerImagePressed();
+}
+
+void interfImageToolsMenu::onHelpPressed(wxCommandEvent& event)
+{
+ wxLaunchDefaultBrowser(_T("http://www.creatis.insa-lyon.fr/site/fr/EndUserGuide"), 0);
+}
+
+//------------------------------------------------------------------------------------------------------------
+
--- /dev/null
+#ifndef __interfImageToolsMenuH__
+#define __interfImageToolsMenuH__
+
+#include <wx/wx.h>
+
+
+#include "interfMenuBar.h"
+
+class interfImageToolsMenu
+ : public interfMenuBar
+{
+public:
+ interfImageToolsMenu(wxWindow * parent, int sizex, int sizey,wxEvtHandler* evtHandler, std::string datdir = "data/Icons");
+ ~interfImageToolsMenu();
+
+ virtual void initButtons(wxEvtHandler* evtHandler) ;
+
+ /**
+ ** Responds to the events of the buttons, when the same panel is responsible for it. It gets the name
+ ** of the button corresponding to the method that has to be executed,
+ ** it uses attribute eventHandler to call the methods define by the application.
+ ** see setEventHandler(wxEventHandler*)
+ **/
+
+/*EED Borrame
+ void onSegmentationPressed(wxCommandEvent& event);
+ void onSegmentationPressedITK(wxCommandEvent& event);
+ void onSnakePressed(wxCommandEvent& event);
+*/
+ void onInformationPressed(wxCommandEvent& event);
+ void onConfigurationPressed(wxCommandEvent& event);
+ void onThreshold(wxCommandEvent& event);
+ void onColorLayerImage(wxCommandEvent& event);
+ void onHelpPressed(wxCommandEvent& event);
+
+private:
+
+ //wxContourEventHandler* contourevent;
+//EED wxPanel* configPanel;
+//EED wxWindow* infoWin;
+
+//EED wxPanel* spreadPanel;
+//EED wxPanel* segmentPanelITK;
+//EED bool axisshown;
+
+//EED wxPanel* getSegmentationPanel(wxWindow* parent);
+
+//EED void onSegmentationOneSlice( wxCommandEvent& event );
+
+//EED void onSegmentationAllSlice( wxCommandEvent& event );
+
+
+
+};
+
+#endif
+
+
#include "interfMainPanel.h"
-/*
-#include "interfNewContourMenu.h"
-#include "interfIOMenu.h"
-#include "interfEditMenu.h"
-#include "interfDeleteMenu.h"
-#include "interfToolsMenu.h"
-#include "interfToolsSpreadPanel.h"
-#include "interfMenuBar.h"
-#include "interfSegmentationMenu.h"
-*/
interfMainPanel* interfMainPanel::interfmainpanel=NULL;
wxFrame* interfMainPanel::_newframe=NULL;
: wxPanel(parent, -1, wxDefaultPosition, wxSize(sizex, sizey), wxBORDER_SUNKEN)
{
- PANEL = "New Contour";
- PANEL1 = "I/O";
- PANEL2 = "Edit";
- PANEL3 = "Delete";
- PANEL4 = "Tools";
- PANEL5 = "Segmentation";
- segmentPanel = NULL;
- segmentPanelITK = NULL;
- configPanel = NULL;
- spreadPanel = NULL;
- infoWin = NULL;
- infoPanel = NULL;
- infoPanelMask = NULL;
- informationPanel = NULL;
- mirrorPanel = NULL;
- thresholdPanel = NULL;
- currentWindow = NULL;
- testPanel = NULL;
+ PANEL = "New Contour";
+ PANEL1 = "I/O";
+ PANEL2 = "Edit";
+ PANEL3 = "Delete";
+ PANEL4 = "Contour Tools";
+ PANEL5 = "Segmentation";
+//EED 07/07/2010
+ PANEL6 = "Image Tools";
+
+ segmentPanel = NULL;
+ segmentPanelITK = NULL;
+ configPanel = NULL;
+ spreadPanel = NULL;
+ infoWin = NULL;
+ infoPanel = NULL;
+ infoPanelMask = NULL;
+ informationPanel = NULL;
+ mirrorPanel = NULL;
+ thresholdPanel = NULL;
+ colorImageLayerPanel = NULL;
+ currentWindow = NULL;
+ testPanel = NULL;
//CMRU 17-08-09 ------------------------------------------------------------------
infoPanelCalibration = NULL;
splitterwindow->SetMinimumPaneSize( 10 );
sizey = sizey/8;
- wxPanel* toolpanel = new wxPanel(splitterwindow, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
+ wxPanel* toolpanel = new wxPanel(splitterwindow, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_DOUBLE, wxString(_T("")));
wxFlexGridSizer* flexsizer = new wxFlexGridSizer(6,2,1,1);
toolpanel->SetSizer(flexsizer, true);
b4->SetClientData(&PANEL4);
wxButton* b5 = getButton(toolpanel);
b5->SetClientData(&PANEL5);
+//EED 07/07/2010
+ wxButton* b6 = getButton(toolpanel);
+ b6->SetClientData(&PANEL6);
+
wxPanel* mentex = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
wxPanel* mentex1 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
wxPanel* mentex3 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
wxPanel* mentex4 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
wxPanel* mentex5 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
+//EED 07/07/2010
+ wxPanel* mentex6 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
menubar = new interfNewContourMenu (mentex, sizex, sizey, evtHandler, datadir);
menubar1 = new interfIOMenu (mentex1, sizex, sizey, evtHandler, datadir);
menubar3 = new interfDeleteMenu (mentex3, sizex, sizey, evtHandler, datadir);
menubar4 = new interfToolsMenu (mentex4, sizex ,sizey, evtHandler, datadir);
menubar5 = new interfSegmentationMenu(mentex5, sizex, sizey, evtHandler, datadir);
+ menubar6 = new interfImageToolsMenu(mentex6, sizex, sizey, evtHandler, datadir);
statictext = getText(mentex, PANEL);
statictext1 = getText(mentex1, PANEL1);
statictext3 = getText(mentex3, PANEL3);
statictext4 = getText(mentex4, PANEL4);
statictext5 = getText(mentex5, PANEL5);
+ statictext6 = getText(mentex6, PANEL6);
flexsizer->Add(b, wxFIXED_MINSIZE);
flexsizer->Add(setMenuTextSizer(mentex, menubar,statictext), wxFIXED_MINSIZE);
flexsizer->Add(b5, wxFIXED_MINSIZE);
flexsizer->Add(setMenuTextSizer(mentex5, menubar5,statictext5), wxFIXED_MINSIZE);
+ flexsizer->Add(b6, wxFIXED_MINSIZE);
+ flexsizer->Add(setMenuTextSizer(mentex6, menubar6,statictext6), wxFIXED_MINSIZE);
toolpanel->Update();
toolpanel->Layout();
- infoPanel = new wxPanel(splitterwindow, -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString(_T("")));
+ infoPanel = new wxPanel(splitterwindow, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_DOUBLE, wxString(_T("")));
wxFlexGridSizer* infosizer = new wxFlexGridSizer(1,1,2,2);
infoPanel->SetSizer(infosizer, true);
infoPanel->SetAutoLayout( true );
splitterwindow->Initialize(toolpanel);
splitterwindow->SetSashGravity(1);
+ splitterwindow->SetSashPosition(500);
+ splitterwindow->SetSashSize(5);
splitterwindow->SplitHorizontally(toolpanel, infoPanel);
Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
Connect(b3->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
Connect(b4->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
Connect(b5->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
+ Connect(b6->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
this->Layout();
}
}else if(dstring.compare(PANEL5)==0){
dmenu = menubar5;
text = statictext5;
+ }else if(dstring.compare(PANEL6)==0){
+ dmenu = menubar6;
+ text = statictext6;
}
if(wxStrcmp(b->GetLabel(),_T("+"))==0 ){
wxContourMainFrame::getInstance()->refLineChangeWidth(width);
}
-
+//EED 07/07/2010
+void interfMainPanel::onColorLayerImagePressed()
+{
+ // Color Image Layer view control panel
+ if(colorImageLayerPanel == NULL){
+ colorImageLayerPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString(_T("")));
+ wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1);
+ colorImageLayerPanel->SetSizer(flexsizer, true);
+ colorImageLayerPanel->SetAutoLayout( true );
+ //configPanel->SetEventHandler(this->contourevent);
+ wxPanel *panel = wxContourMainFrame::getInstance()->getThresholdImageViewPanel( colorImageLayerPanel );
+ wxStaticText* stattext = new wxStaticText(colorImageLayerPanel, -1, wxString(_T(" Color Image Layer ")), wxDefaultPosition,
+ wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
+ flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE);
+ flexsizer->Add(panel, wxEXPAND);
+ colorImageLayerPanel->Layout();
+ }
+ showPanel(colorImageLayerPanel);
+ wxContourMainFrame::getInstance()->changeInstant();
+}
//EED01
void interfMainPanel::onThresholdPressed()
-{
-
+{
// Threshold view control panel
if(thresholdPanel == NULL){
thresholdPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString(_T("")));
thresholdPanel->SetSizer(flexsizer, true);
thresholdPanel->SetAutoLayout( true );
//configPanel->SetEventHandler(this->contourevent);
- wxPanel *panel = wxContourMainFrame::getInstance()->getThresholdImageViewPanel( thresholdPanel );
+ wxPanel *panel = wxContourMainFrame::getInstance()->getColorLayerImageViewPanel( thresholdPanel );
wxStaticText* stattext = new wxStaticText(thresholdPanel, -1, wxString(_T(" Threshold segmentation ")), wxDefaultPosition,
wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
-
flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE);
-
flexsizer->Add(panel, wxEXPAND);
- thresholdPanel->Layout();
-
+ thresholdPanel->Layout();
}
showPanel(thresholdPanel);
wxContourMainFrame::getInstance()->changeInstant();
#include "interfToolsSpreadPanel.h"
#include "interfSegmentationMenu.h"
#include "interfMenuBar.h"
-#include "interfSegmentationPanels.h"
#include "interfToolsPanels.h"
+#include "interfSegmentationPanels.h"
+#include "interfImageToolsMenu.h"
#include <wx/treebook.h>
#include <wx/sizer.h>
void onMirrorAxisHide();
void onMirrorChangeWidth(int width);
void onThresholdPressed();
+ void onColorLayerImagePressed();
void setLabelSegmentationPanelVTK(wxString tmpString);
void onSegmentationPressed();
void onSegmentationPressedITK();
wxPanel* menubar3;
wxPanel* menubar4;
wxPanel* menubar5;
+ wxPanel* menubar6;
wxWindow* currentWindow;
wxSplitterWindow* splitterwindow;
wxStaticText* statictext3;
wxStaticText* statictext4;
wxStaticText* statictext5;
+ wxStaticText* statictext6;
std::string PANEL;
std::string PANEL1;
std::string PANEL3;
std::string PANEL4;
std::string PANEL5;
-
- wxPanel* segmentPanel;
- wxPanel* segmentationPanel;
- wxPanel* segmentPanelITK;
- wxPanel* configPanel;
- wxPanel* spreadPanel;
- interfSpreadPanel* panelSpread;
- wxWindow* infoWin;
- wxPanel* informationPanel;
+ std::string PANEL6;
+
+ wxPanel *segmentPanel;
+ wxPanel *segmentationPanel;
+ wxPanel *segmentPanelITK;
+ wxPanel *configPanel;
+ wxPanel *spreadPanel;
+ interfSpreadPanel *panelSpread;
+ wxWindow *infoWin;
+ wxPanel *informationPanel;
- wxPanel *testPanel;
- interfTestPanel *panelTest;
-
- wxPanel* mirrorPanel;
- interfMirrorPanel* panelMirror;
+ wxPanel *testPanel;
+ interfTestPanel *panelTest;
+ wxPanel *mirrorPanel;
+ interfMirrorPanel *panelMirror;
- wxPanel* thresholdPanel;
+ wxPanel *thresholdPanel;
+ wxPanel *colorImageLayerPanel;
bool axisshown;
bool refLineShown;
interfSegmentationMenu::interfSegmentationMenu(wxWindow * parent, int sizex, int sizey,wxEvtHandler* evtHandler, std::string datdir)
: interfMenuBar(parent, sizex, sizey)
{
- this->datadir = datdir;
- //contourevent = (wxContourEventHandler*)evtHandler;
- infoWin = NULL;
- configPanel = NULL;
- spreadPanel = NULL;
+ this->datadir = datdir;
+
+/*EED Borrame
+ //contourevent = (wxContourEventHandler*)evtHandler;
+ infoWin = NULL;
+ configPanel = NULL;
+ spreadPanel = NULL;
segmentPanelITK = NULL;
- //eventHandler = evtHandler;
+ //eventHandler = evtHandler;
+*/
initButtons(this);
}
nom.push_back("Find shapes using border snake interaction");
funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onSnakePressed);
- path.push_back(datadir + "/Mirror.png");
- nom.push_back("Create an Axis and select a contour to mirror it accordingly");
- funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onMirrorPressed);
-
+/*EED Borrame
path.push_back(datadir + "/Threshold.png");
nom.push_back("Superpose a 'Red Image' to the selected Image Threshold");
funct.push_back((wxObjectEventFunction)&interfSegmentationMenu::onThreshold);
-
+*/
this->addButtons(path, nom);
this->setVectorFunction(funct);
**/
-void interfSegmentationMenu::onSegmentationPressed(wxCommandEvent& event){
-
+void interfSegmentationMenu::onSegmentationPressed(wxCommandEvent& event)
+{
interfMainPanel::getInstance()->onSegmentationPressed();
}
-void interfSegmentationMenu::onSegmentationPressedITK(wxCommandEvent& event){
-
- interfMainPanel::getInstance()->onSegmentationPressedITK();
-
-
+void interfSegmentationMenu::onSegmentationPressedITK(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onSegmentationPressedITK();
}
-void interfSegmentationMenu::onSnakePressed(wxCommandEvent& event){
-
+void interfSegmentationMenu::onSnakePressed(wxCommandEvent& event)
+{
interfMainPanel::getInstance()->onSnakePressed();
-
-}
-
-void interfSegmentationMenu::onMirrorPressed(wxCommandEvent& event){
-
- interfMainPanel::getInstance()->onMirrorPressed();
-
}
-void interfSegmentationMenu::onThreshold(wxCommandEvent& event){
-
+/*EED Borrame
+void interfSegmentationMenu::onThreshold(wxCommandEvent& event)
+{
interfMainPanel::getInstance()->onThresholdPressed();
-
}
-
+*/
//------------------------------------------------------------------------------------------------------------
** see setEventHandler(wxEventHandler*)
**/
- void onSegmentationPressed(wxCommandEvent& event);
-
- void onSegmentationPressedITK(wxCommandEvent& event);
-
- void onSnakePressed(wxCommandEvent& event);
-
- void onMirrorPressed(wxCommandEvent& event);
-
- void onThreshold(wxCommandEvent& event);
+ void onSegmentationPressed(wxCommandEvent& event);
+ void onSegmentationPressedITK(wxCommandEvent& event);
+ void onSnakePressed(wxCommandEvent& event);
+//EED Borrame void onThreshold(wxCommandEvent& event);
private:
-
//wxContourEventHandler* contourevent;
+
+/*EED Borrame
wxPanel* configPanel;
- wxWindow* infoWin;
-
+ wxWindow* infoWin;
wxPanel* spreadPanel;
wxPanel* segmentPanelITK;
bool axisshown;
wxPanel* getSegmentationPanel(wxWindow* parent);
-
void onSegmentationOneSlice( wxCommandEvent& event );
-
void onSegmentationAllSlice( wxCommandEvent& event );
-
+*/
};
{
this->datadir = datdir;
//contourevent = (wxContourEventHandler*)evtHandler;
- //infoWin = NULL;
- configPanel = NULL;
- segmentPanel = NULL;
- spreadPanel = NULL;
+ //infoWin = NULL;
+
+/*EED Borrame
+ configPanel = NULL;
+ segmentPanel = NULL;
+ spreadPanel = NULL;
segmentPanelITK = NULL;
// eventHandler = evtHandler;
+*/
initButtons(this);
}
nom.push_back("Select more than one contour and find the contours between them");
funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onSpreadPressed);
- path.push_back(datadir + "/pignon.png");
- nom.push_back("Configuration of the window");
- funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onConfigurationPressed);
+ path.push_back(datadir + "/Mirror.png");
+ nom.push_back("Create an Axis and select a contour to mirror it accordingly");
+ funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onMirrorPressed);
+
+//CMRU 17-08-09 ------------------------------------------------------------------
+ path.push_back(datadir + "/Letter.PNG");
+ nom.push_back("Insert a Label");
+ funct.push_back((wxObjectEventFunction)&interfToolsMenu::onPrintLabel);
+//-------------------------------------------------------------------------------
- path.push_back(datadir + "/info.png");
- nom.push_back("Information of the contours in the scene");
- funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onInformationPressed);
-
- 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);
** it uses attribute eventHandler to call the methods define by the application.
** see setEventHandler(wxEventHandler*)
**/
-void interfToolsMenu::onRigidPressed(wxCommandEvent& event){
+void interfToolsMenu::onRigidPressed(wxCommandEvent& event)
+{
interfMainPanel::getInstance()->onRigidPressed();
}
-void interfToolsMenu::onSpreadPressed(wxCommandEvent& event){
-
+void interfToolsMenu::onSpreadPressed(wxCommandEvent& event)
+{
interfMainPanel::getInstance()->onSpreadPressed();
-
-
-}
-
-
-void interfToolsMenu::onInformationPressed(wxCommandEvent& event){
-
- interfMainPanel::getInstance()->onInformationPressed();
-
-
}
-void interfToolsMenu::onConfigurationPressed(wxCommandEvent& event){
-
- interfMainPanel::getInstance()->onConfigurationPressed();
-
+void interfToolsMenu::onMirrorPressed(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onMirrorPressed();
}
-void interfToolsMenu::onHelpPressed(wxCommandEvent& event){
-
- wxLaunchDefaultBrowser(_T("http://www.creatis.insa-lyon.fr/creatools/node/25"), 0);
-
+void interfToolsMenu::onPrintLabel(wxCommandEvent& event)
+{
+ interfMainPanel::getInstance()->onPrintLabel();
}
** see setEventHandler(wxEventHandler*)
**/
void onRigidPressed(wxCommandEvent& event);
-
- void onSpreadPressed(wxCommandEvent& event);
-
- void onInformationPressed(wxCommandEvent& event);
-
- void onConfigurationPressed(wxCommandEvent& event);
-
- void onHelpPressed(wxCommandEvent& event);
+ void onSpreadPressed(wxCommandEvent& event);
+ void onMirrorPressed(wxCommandEvent& event);
+ void onPrintLabel(wxCommandEvent& event);
private:
+/*EED Borrame
//wxContourEventHandler* contourevent;
wxPanel* configPanel;
wxPanel* segmentPanel;
wxPanel* spreadPanel;
wxPanel* segmentPanelITK;
bool axisshown;
-
+*/
};
// Image Value
vtkMetaImageWriter *writerValueImage = vtkMetaImageWriter::New( );
writerValueImage->SetInput( value );
+ writerValueImage->SetInput( value );
writerValueImage->SetFileName( (const char *)filename.mb_str() );
writerValueImage->SetFileDimensionality( 3 );
+ writerValueImage->SetCompression(false);
writerValueImage->Write( );
// Image Mask
writerMaskImage->SetInput( mask );
writerMaskImage->SetFileName( (const char *)filename.mb_str() );
writerMaskImage->SetFileDimensionality( 3 );
+ writerValueImage->SetCompression(false);
writerMaskImage->Write( );
interfMainPanel::getInstance()->setStringInfoPanel( _T("") );
return _viewMaskImagePanel;
}
+
+wxPanel *wxContourMainFrame::getColorLayerImageViewPanel(wxWindow *parent)
+{
+ if (_viewColorLayerImagePanel==NULL)
+ {
+ _viewColorLayerImagePanel = new wxPanel(parent, -1);
+/*EED Borrame
+ double range[2];
+ _theViewPanel->getImageData()->GetScalarRange(range);
+ int min = (int)floor (range[0]);
+ int max = (int)ceil (range[1]);
+ _viewColorLayerImagePanel = new ThresholdImageViewPanel( parent, min, max , 1);
+ _viewThresholdImage = new ThresholdImageView();
+ _viewThresholdImage->SetImage( _theViewPanel->getImageData() );
+ _viewThresholdImage->SetminMaxValue( min, max);
+ _viewThresholdImage->SetBaseColor( 1,0,0 );
+ _viewThresholdImagePanel->SetThresholdImageView( _viewThresholdImage );
+ _viewThresholdImage->SetwxVtkBaseView( _theViewPanel->getWxVtkBaseView() );
+*/
+ }
+ return _viewColorLayerImagePanel;
+}
+
+
wxPanel *wxContourMainFrame::getThresholdImageViewPanel(wxWindow *parent)
{
if (_viewThresholdImagePanel==NULL)
#include "ThresholdImageView.h"
#include "ThresholdImageViewPanel.h"
+//EED #include "ColorLayerImageView.h"
+//EED #include "ColorLayerImageViewPanel.h"
//#include "ContourThing.h"
wxPanel *getMaskImageViewPanel(wxWindow *parent);
void SetContourGroup(int contourGroup);
wxPanel *getThresholdImageViewPanel(wxWindow *parent);
+ wxPanel *getColorLayerImageViewPanel(wxWindow *parent);
//CMRU 17-08-09-----------------------------------------------------------------------------------------------
// Contour Image Mask
- ThresholdImageView *_viewMaskImage;
- ThresholdImageViewPanel *_viewMaskImagePanel;
+ ThresholdImageView *_viewMaskImage;
+ ThresholdImageViewPanel *_viewMaskImagePanel;
// Threshold Image
- ThresholdImageView *_viewThresholdImage;
- ThresholdImageViewPanel *_viewThresholdImagePanel;
-
+ ThresholdImageView *_viewThresholdImage;
+ ThresholdImageViewPanel *_viewThresholdImagePanel;
+ // Color Layer Image
+//EED ColorLayerImageView *_viewColorLayerImage;
+//EED ColorLayerImageViewPanel *_viewColorLayerImagePanel;
+ wxPanel *_viewColorLayerImagePanel;
+
std::vector<vtkImageData*> _images;
bool _actorPresent;
void OutlineModelManager::SaveThingName( FILE *pFile, FILE *pFileData, std::string nameThing )
{
std::vector< Instant * > *lstInstants;
+printf("EED OutlineModelManager::SaveThingName %s\n",nameThing.c_str() );
lstInstants = outlinesEnvironment->getInstantsOfThing( nameThing );
+printf("EED OutlineModelManager::SaveThingName %d\n", (*lstInstants).size() );
Instant *instant = (*lstInstants)[0];
std::vector<int> *vecInst =instant->getInstant();
int i,sizeVecInst = vecInst->size();