X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_Icons_NDimensions%2FinterfMainPanel.h;h=e6eb6e8c2256c30b977c3c758d403183c02f768c;hb=86f5e10e3c87848b546e96700c4d94233246c94e;hp=0e85143eca89da36511e17e45617d011f63a4fa3;hpb=8e43346f916bb1b027660dd175241d5d611ba9a0;p=creaContours.git diff --git a/lib/Interface_Icons_NDimensions/interfMainPanel.h b/lib/Interface_Icons_NDimensions/interfMainPanel.h index 0e85143..e6eb6e8 100644 --- a/lib/Interface_Icons_NDimensions/interfMainPanel.h +++ b/lib/Interface_Icons_NDimensions/interfMainPanel.h @@ -1,3 +1,28 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + #ifndef __interfMainPanel_h_INCLUDED_H__ #define __interfMainPanel_h_INCLUDED_H__ @@ -14,8 +39,9 @@ #include "interfToolsSpreadPanel.h" #include "interfSegmentationMenu.h" #include "interfMenuBar.h" -#include "interfSegmentationPanels.h" #include "interfToolsPanels.h" +#include "interfSegmentationPanels.h" +#include "interfImageToolsMenu.h" #include #include @@ -29,7 +55,7 @@ class interfMainPanel : public wxPanel { public: - + interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtHandler * evtHandler, std::string datadir = "data/Icons"); ~interfMainPanel(void); @@ -53,14 +79,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 +100,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 +113,7 @@ public: ** Gets the Information panel **/ wxPanel* getInfoPanel(); - + /** ** This methods connect the event in the class interfNewContourMenu with the world of the appli **/ @@ -95,10 +121,18 @@ 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(); void onDeleteContoursActSlice(); + void onDeleteContour(); void onDeleteAllContours(); ///////////////////////// void onCopy(); @@ -109,110 +143,94 @@ 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 onSegmentationAllSlices(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 onShowTextContour(bool show); + void onBeforAfterContour(bool before, bool after); + void onJumpSlice(int step,int shift); 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& tempVector); - std::vector 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); + void onFlipContours(); + void FlipContours(int typeContourFlip, int flipDirection); + +//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 +242,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 +274,7 @@ private: wxStaticText* statictext3; wxStaticText* statictext4; wxStaticText* statictext5; + wxStaticText* statictext6; std::string PANEL; std::string PANEL1; @@ -243,24 +282,32 @@ private: 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 *flipPanel; + interfFlipPanel *panelFlip; - wxPanel* mirrorPanel; - interfMirrorPanel* panelMirror; - wxPanel* thresholdPanel; - interfThresholdPanel* panelThreshold; + 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 +334,7 @@ private: **/ wxPanel* setMenuTextSizer(wxWindow* parent, wxPanel* panel, wxStaticText* text); - + }; #endif