]> Creatis software - creaContours.git/blobdiff - lib/Interface_Icons_NDimensions/interfMainPanel.h
no message
[creaContours.git] / lib / Interface_Icons_NDimensions / interfMainPanel.h
index 0e85143eca89da36511e17e45617d011f63a4fa3..730796e21e8535a84081a5dd3ac719055628bd10 100644 (file)
@@ -14,8 +14,9 @@
 #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>
@@ -29,7 +30,7 @@
 class interfMainPanel : public wxPanel {
 
 public:
-       
+
        interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtHandler * evtHandler, std::string datadir = "data/Icons");
        ~interfMainPanel(void);
 
@@ -53,14 +54,14 @@ public:
        /**
        **      Adds a new checkbox to the scrolledwindow using the checkboxsizer
        **      @Params id of contour
-       **      
+       **
        **/
        void addContourCheckBox(std::string id);
 
        /**
        **      Removes a checkbox from the list of checkboxes in the flexsizer (checkboxsizer)
        **      @Params id of contour
-       **      
+       **
        **/
        void removeContourCheckBox(std::string id);
 
@@ -74,12 +75,12 @@ public:
        void onActionButtonPressed1( wxCommandEvent& event );
 
        /**
-       **      Shows the panel in the 
+       **      Shows the panel in the
        **/
        void showPanel(wxWindow* panel);
 
        /**
-       **      Hides the panel in the 
+       **      Hides the panel in the
        **/
        void hidePanel( );
 
@@ -87,7 +88,7 @@ public:
        **      Gets the Information panel
        **/
        wxPanel* getInfoPanel();
-       
+
        /**
        **      This methods connect the event in the class interfNewContourMenu with the world of the appli
        **/
@@ -95,6 +96,14 @@ public:
        void onCreateContourRectangle( );
        void onCreateContourCircle( );
        void onCreateContourLine( );
+       // RaC 09-09 ---------------------
+       void onCreateContourPoints( );
+       // RaC 09-09 ---------------------
+
+       // RaC 10-09 ---------------------
+       void onCreateContourPolygon( );
+       // RaC 10-09 ---------------------
+
        void onCreateContoursBullEye(wxPanel* panBull);
        /////////////////////////////////
        void onDeleteContour();
@@ -109,110 +118,89 @@ public:
        //////////////////////////
        void onLoad();
        void onSave();
+       void onImport();
+       void onTest();
 /////////////////////////////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 onColorLayerImagePressed();
        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 onSpreadAddAll();
        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 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 SetScalarRange(int grayRangeMin,int grayRangeMax);
        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);
+
+//CMRU 29-08-09-----------------------------------------------------------------------------------------------
+
+       /**
+       * Associates the current selected contour with a label
+       */
+       void onPrintLabel();
+
+
+       /**
+       * Calculates the pixel value in milimeters according to the current contour if the selected contour is a Line Contour
+       * @param size Size in milimeters of the selected contour
+       * @param unit Measurement unit
+       */
+       void onCalibration(wxString size, int unit);
+
+       /**
+       * Calculate the pixel value in milimeters
+       * @param realSize Size of the contour in milimeters
+       * @param sizePixel Size of the contour in pixels
+       */
+       double onePixelSize (double realSize,double sizePixel);
+
+       /**
+       * Returns the value of a pixel in milimeters
+       */
+       double GetPixelValue();
+//------------------------------------------------------------------------------------------------------------
+
 private:
-       
+
 
        static interfMainPanel* interfmainpanel;
 
@@ -224,11 +212,31 @@ private:
        wxPanel* menubar3;
        wxPanel* menubar4;
        wxPanel* menubar5;
+       wxPanel* menubar6;
 
        wxWindow* currentWindow;
        wxSplitterWindow* splitterwindow;
 
        wxPanel* infoPanel;
+       wxPanel* infoPanelMask;
+
+//CMRU 17-08-09 ------------------------------------------------------------------
+
+       /**
+       * Panel with the calibration options
+       */
+       wxPanel* infoPanelCalibration;
+
+       /**
+       * Panel who contains the calibration panel and the information panel mask
+       */
+       wxPanel* panelAux;
+
+       /**
+       * Value of a pixel in milimeters
+       */
+       double _pixelValue;
+//--------------------------------------------------------------------------------
 
        wxStaticText* statictext;
        wxStaticText* statictext1;
@@ -236,6 +244,7 @@ private:
        wxStaticText* statictext3;
        wxStaticText* statictext4;
        wxStaticText* statictext5;
+       wxStaticText* statictext6;
 
        std::string PANEL;
        std::string PANEL1;
@@ -243,24 +252,29 @@ private:
        std::string PANEL3;
        std::string PANEL4;
        std::string PANEL5;
+       std::string PANEL6;
+
+       wxPanel                         *segmentPanel;
+       wxPanel                         *segmentationPanel;
+       wxPanel                         *segmentPanelITK;
+       wxPanel                         *configPanel;
+       wxPanel                         *spreadPanel;
+       interfSpreadPanel       *panelSpread;
+       wxWindow                        *infoWin;
+       wxPanel                         *informationPanel;
 
-       wxPanel* segmentPanel;
-       wxPanel* segmentationPanel;
-       wxPanel* segmentPanelITK;
-       wxPanel* configPanel;
-       wxPanel* spreadPanel;
-       interfSpreadPanel* panelSpread;
-       wxWindow* infoWin;
-       wxPanel* informationPanel;
-       
-       wxPanel* mirrorPanel;
-       interfMirrorPanel* panelMirror; 
-       wxPanel* thresholdPanel;
-       interfThresholdPanel* panelThreshold;
+       wxPanel                         *testPanel;
+       interfTestPanel         *panelTest;
+
+       wxPanel                         *mirrorPanel;
+       interfMirrorPanel       *panelMirror;
+
+       wxPanel                         *thresholdPanel;
+       wxPanel                         *colorImageLayerPanel;
 
        bool axisshown;
        bool refLineShown;
-       
+
        //This attribute contains the panel in charge of adding and removing the corresponding checkboxes in
        //list of contours
        interfToolsSpreadPanel* toolspread;
@@ -287,7 +301,7 @@ private:
        **/
        wxPanel* setMenuTextSizer(wxWindow* parent, wxPanel* panel, wxStaticText* text);
 
-       
+
 };
 
 #endif