+#ifndef __interfMainPanel_h_INCLUDED_H__
+#define __interfMainPanel_h_INCLUDED_H__
+
#pragma once
#include <wx/wx.h>
-#include "wxContourEventHandler.h"
+//#include "wxContourEventHandler.h"
#include "interfNewContourMenu.h"
#include "interfIOMenu.h"
#include "interfDeleteMenu.h"
#include "interfToolsMenu.h"
#include "interfToolsSpreadPanel.h"
+#include "interfSegmentationMenu.h"
#include "interfMenuBar.h"
+#include "interfSegmentationPanels.h"
+#include "interfToolsPanels.h"
#include <wx/treebook.h>
#include <wx/sizer.h>
#include <wx/splitter.h>
#include <wx/statline.h>
+#include "vtkImageData.h"
+
class interfMainPanel : public wxPanel {
public:
/** This method should be called the first time by the parent class
** in creates all the panels the first time
**/
- static interfMainPanel* getInstance(wxWindow* parent, wxEvtHandler * evtHandler, std::string datadir);
+ static interfMainPanel* getInstance(wxWindow* parent, std::string datadir, wxEvtHandler * evtHandler=NULL );
/** This method should be called the first time by the parent class
** in creates all the panels the first time
**/
- static interfMainPanel* getInstance(wxWindow* parent, wxEvtHandler * evtHandler);
+ static interfMainPanel* getInstance(wxWindow* parent, wxEvtHandler * evtHandler=NULL);
/**
** Gets the instance of the class
**/
static interfMainPanel* getInstance();
-
+ /**
+ ** Ressts the instance of the class
+ **/
+ static void resetInstance();
/**
** Adds a new checkbox to the scrolledwindow using the checkboxsizer
** Shows the panel in the
**/
void showPanel(wxWindow* panel);
+
+ /**
+ ** Hides the panel in the
+ **/
+ void hidePanel( );
+
/**
** Gets the Information panel
**/
wxPanel* getInfoPanel();
+ /**
+ ** This methods connect the event in the class interfNewContourMenu with the world of the appli
+ **/
+ void onCreateContourSpline( );
+ void onCreateContourRectangle( );
+ void onCreateContourCircle( );
+ void onCreateContourLine( );
+ void onCreateContoursBullEye(wxPanel* panBull);
+ /////////////////////////////////
+ void onDeleteContour();
+ void onDeleteContoursActSlice();
+ void onDeleteAllContours();
+ /////////////////////////
+ void onCopy();
+ void onPaste();
+ void onUndo();
+ void onRedo();
+
+ //////////////////////////
+ void onLoad();
+ void onSave();
+/////////////////////////////7
+ void RefreshInterface();
+
+ vtkImageData* getImageData();
+
+ void getImageRange(double[2]);
+
+ void onSegmentationOneSlice(int isovalue,int sampling,int method);
+
+ void onSegmentationOneSliceITK(wxString distance, wxString sigma, wxString alfa, wxString beta, wxString propagation, wxString iterations, wxString inflation);
+
+ int GetImageDataSizeZ();
+
+ void onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method);
+
+ void onMirrorPressed();
+
+ void onMirror();
+
+ void onMirrorAxisShow();
+
+ void onMirrorAxisHide();
+
+ void onMirrorChangeWidth(int width);
+
+ void onThreshold();
+
+ void onThresholdChange();
+
+ void onThresholdInstantChange(double range[]);
+
+ void onThresholdRemove();
+
+ void onThresholdPressed();
+
+ void onThresholdInterpolation(bool interpolate);
+
+ void onThresholdChangeOpacity (int opacity);
+
+ void setLabelSegmentationPanelVTK(wxString tmpString);
+
+ void onSegmentationPressed();
+
+ void onSegmentationPressedITK();
+
+ void onRigidPressed();
+
+ void onWidthOfContour(double width);
+
+ int getColorWindow();
+ int getWindowLevel();
+
+ void onBrigthnessColorWindowLevel(int colorwindow,int windowlevel);
+
+ void onInterpolation(bool interpolate);
+
+ void onSpreadPressed();
+
+ void onConfigurationPressed();
+
+ void resetAppend();
+
+ void onSpreadAdd();
+
+ void appendStringSpread(std::string val);
+
+ void onSpreadGo(int type);
+
+ void setStringSpread(std::string stringtemp);
+
+ void onInformationPressed();
+
+
+ void getInstantVector(std::vector<int>& tempVector);
+
+ std::vector<std::string> getOutlinesName(int slide);
+
+ void onInformationContourLabels(int typeContourGroup,int selection,int minZ,int maxZ,int grayRangeMin,int grayRangeMax);
+
+ void setStringInfoPanel(wxString tmpString);
+
+ void setRowLabelInfoPanel(int z, wxString tempString);
+
+ int getNumberColsInformationPanel();
+
+ void appendColsInformationPanel(int _numberOfVariablesStatistics);
+
+ void setCellValueInfoPanel(int z,int tmpIntA,wxString tempString);
+
+ void setColLableInfoPanel(int tmpIntB ,wxString tmpTitleString);
+
+ void onSaveResults(std::string directory,std::string namefile, std::string filename,
+ int typeContourGroup, int selection, int minZ, int maxZ, bool XYZValues, bool contourImage, bool statistics);
+
+ wxString getCellValue(int j,int i);
+
+ void onSnakePressed();
+
+ virtual bool Show(bool show);
+
+ void ShowResultImages(int typeContourGroup, int selection, int minZ, int maxZ);
+
+ void SetContourGroup(int contourGroup);
private:
static interfMainPanel* interfmainpanel;
+ static wxFrame* _newframe;
wxPanel* menubar;
wxPanel* menubar1;
wxPanel* menubar2;
wxSplitterWindow* splitterwindow;
wxPanel* infoPanel;
+ wxPanel* infoPanelMask;
wxStaticText* statictext;
wxStaticText* statictext1;
std::string PANEL4;
std::string PANEL5;
+ wxPanel* segmentPanel;
+ wxPanel* segmentationPanel;
+ wxPanel* segmentPanelITK;
+ wxPanel* configPanel;
+ wxPanel* spreadPanel;
+ interfSpreadPanel* panelSpread;
+ wxWindow* infoWin;
+ wxPanel* informationPanel;
+
+ wxPanel* mirrorPanel;
+ interfMirrorPanel* panelMirror;
+ wxPanel* thresholdPanel;
+ interfThresholdPanel* panelThreshold;
+
+
+ bool axisshown;
+ bool refLineShown;
//This attribute contains the panel in charge of adding and removing the corresponding checkboxes in
//list of contours
wxPanel* setMenuTextSizer(wxWindow* parent, wxPanel* panel, wxStaticText* text);
-
};
+
+#endif
+