]> Creatis software - creaContours.git/blobdiff - lib/Interface_Icons_NDimensions/interfMainPanel.h
*** empty log message ***
[creaContours.git] / lib / Interface_Icons_NDimensions / interfMainPanel.h
index 0ded70450fd0e97179347a8071bda76df517dc60..90d2a30bfbef6543bb6d968c16d45dba99d868e0 100644 (file)
@@ -1,3 +1,6 @@
+#ifndef __interfMainPanel_h_INCLUDED_H__
+#define __interfMainPanel_h_INCLUDED_H__
+
 #pragma once
 
 #include <wx/wx.h>
@@ -42,7 +45,10 @@ public:
        **      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
@@ -71,6 +77,12 @@ public:
        **      Shows the panel in the 
        **/
        void showPanel(wxWindow* panel);
+
+       /**
+       **      Hides the panel in the 
+       **/
+       void hidePanel( );
+
        /**
        **      Gets the Information panel
        **/
@@ -82,6 +94,15 @@ public:
        void onCreateContourSpline( );
        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();
@@ -98,80 +119,88 @@ public:
        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 GetImageDataRange(double *range);
-
        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 onThresholdPressed();
        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);
-
+       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);
-
+       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;
 
 
+       static wxFrame* _newframe;
        wxPanel* menubar;
        wxPanel* menubar1;
        wxPanel* menubar2;
@@ -183,6 +212,25 @@ private:
        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;
@@ -206,9 +254,13 @@ private:
        interfSpreadPanel* panelSpread;
        wxWindow* infoWin;
        wxPanel* informationPanel;
-
+       
+       wxPanel* mirrorPanel;
+       interfMirrorPanel* panelMirror; 
+       wxPanel* thresholdPanel;
+       
        bool axisshown;
-
+       bool refLineShown;
        
        //This attribute contains the panel in charge of adding and removing the corresponding checkboxes in
        //list of contours
@@ -238,3 +290,6 @@ private:
 
        
 };
+
+#endif
+