X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.h;h=32adc0fdc3ea420d6386875133142b03763011fa;hb=6383d69864c69a97539b59d3e39406c79408577b;hp=91eac838062a93c4df7b667418fc6ce43c76a1b5;hpb=ae4e82199b7c2de2c149f84be5a10edcce7596e0;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h index 91eac83..32adc0f 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h @@ -36,32 +36,10 @@ #include "manualContourModelLine.h" #include "manualViewLine.h" -//#include "ContourThing.h" -//#include "AxeThing.h" -//#include "ImageSourceThing.h" -//#include "ImageSectionThing.h" -//#include "InstantMembersNameList.h" -//#include "OutlineGroup.h" -//#include "SomeEnvironment.h" -//#include "ContourWorkspace.h" -//#include "ContourWrap_ViewControl.h" -//#include "Instant.h" -//#include "PerformingOperation.h" - -//#include "ContourThing.h" - -//#include "OutlineModelManager.h" - -//#include "wxContour_ButtonsBar.h" -//#include "wxContour_ControlPanel.h" - -//#include "wxContour_Grid.h" -//#include "wxContour_DrawToolsPanel.h" -//#include "wxContour_OperationsToolsPanel.h" -//#include "wxContour_AutomaticFormsToolsPanel.h" -//#include "wxContour_StandardToolsPanel.h" -//#include "wxContour_EdtionToolsPanel.h" -//#include "wxContour_ListViewPanel.h" +#include "ThresholdImageView.h" +#include "ThresholdImageViewPanel.h" +#include "ColorLayerImageView.h" +#include "ColorLayerImageViewPanel.h" //ITK @@ -134,7 +112,7 @@ class wxContourMainFrame : public wxPanel { // Creational and initialization methods //------------------------------------------------------------------------------------------------------------ - void setVectImages( std::vector images ); + void setVectImages(std::vector imgs); bool configurePanels( ); @@ -152,24 +130,13 @@ class wxContourMainFrame : public wxPanel { void setInstantChooserPanel( wxInstantChooserPanel * theInstantChooserPanel ); - - void getMaskValue(vtkImageData ** mask,vtkImageData ** value,int typeContourGroup); + void getMaskValue(vtkImageData ** mask,vtkImageData ** value,int typeContourGroup, int selection, int minZ, int maxZ); void SaveImageResult(std::string directory,std::string namefile, vtkImageData* mask,vtkImageData* value); void ShowToolsPanel(bool show); -// void setButtonsBar( wxContour_ButtonsBar * theButtonsBar ); -// void setGrid( wxContour_Grid * theGridPanel ); -// void setDrawToolsPanel( wxContour_DrawToolsPanel * theDrawToolsPanel ); -// void setOperationsToolsPanel( wxContour_OperationsToolsPanel * theDrawToolsPanel ); -// void setAutomaticFormsPanel( wxContour_AutomaticFormsToolsPanel * theAutoFormsPanel ); -// void setStandardToolsPanel( wxContour_StandardToolsPanel * theStandardToolsPanel ); -// void setEditionToolsPanel( wxContour_EdtionToolsPanel * theEditionToolsPanel ); -// void setListViewPanel( wxContour_ListViewPanel * theListViewPanel ); - - ////------------------------------------------------------------------------------------------------------------ //// Methods for capturing events ////------------------------------------------------------------------------------------------------------------ @@ -186,6 +153,7 @@ class wxContourMainFrame : public wxPanel { static wxContourMainFrame* getInstance(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,std::vector images, long style = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER, std::string datadir="C:/Creatis/creaContoursBin/RelWithDebInfo/"); static wxContourMainFrame* getInstance(); static void resetInstance(); + //------------------------------------------------------------------------------------------------------------ // Other functional methods //------------------------------------------------------------------------------------------------------------ @@ -203,6 +171,8 @@ class wxContourMainFrame : public wxPanel { void onCreateContourRectangle( ); void onCreateContourCircle( ); void onCreateContourLine( ); + void onCreateContourPoints( ); + void onCreateContourPolygon( ); void onCreateContourBullEye(wxPanel* pan); ///////////////////////////////// void onDeleteContour(); @@ -237,8 +207,9 @@ class wxContourMainFrame : public wxPanel { ///////////////////////7 void onLoad(); void onSave(); - - void openContours( FILE *pFile, bool staticContour ); + void onImport(); + void onTest(); + void openContours( FILE *pFile, FILE *pFileData, int version, bool staticContour ); void RefreshInterface(); @@ -261,53 +232,94 @@ class wxContourMainFrame : public wxPanel { //AD void onMirror(); - void onThreshold(); - void onThresholdChange(); - void onThresholdInterpolation(bool interpolate); - void onThresholdChangeOpacity (int opacity); - void onThresholdRemove(); - + + //==================================================================================================== void showAxis(bool show); - void onRigidPressed(); - void onWidthOfContour(double width); - int getColorWindow(); int getWindowLevel(); - void onBrigthnessColorWindowLevel(int colorwindow,int windowlevel); - void onInterpolation(bool interpolate); - void onChangeInstant(std::string name,int actual); - void resetAppend(); - void onSpreadAdd(); - void onSpreadGo(int type); - void getInstantVector(std::vector& tempVector); - std::vector getOutlinesName(int slide); - void onInformationContourLabels(int typeContourGroup,int selection,int minimumZ,int maximumZ); - + // + // + // @param typeContourGroup - int The operation id (AND,OR,XOR,ALL=3) + // + void onInformationContourLabels(int typeContourGroup,int selection,int minimumZ,int maximumZ,int grayRangeMin, int grayRangeMax); void onSaveResults(std::string directory,std::string namefile, std::string filename, - int typeContourGroup, bool XYZValues, bool contourImage, bool statistics); - + int typeContourGroup, int selection, int minZ, int maxZ, bool XYZValues, bool contourImage, bool statistics); void SaveValuesXYZ(std::string directory,std::string namefile, int typeContourGroup); + void onChangeInstantInstantPanel(std::string name,int value, int minshow, int maxshow); + void onSnakePressed(); + void saveFileWithContoursAutomatique(); + void ShowResultImages(int typeContourGroup, int selection, int minZ, int maxZ ); + wxPanel *getMaskImageViewPanel(wxWindow *parent); + void SetContourGroup(int contourGroup); + wxPanel *getThresholdImageViewPanel(wxWindow *parent); + wxPanel *getColorLayerImageViewPanel(wxWindow *parent); - - void onChangeInstantInstantPanel(std::string name,int value, int minshow, int maxshow); +//CMRU 17-08-09----------------------------------------------------------------------------------------------- - void onSnakePressed(); + /** + * Associates the String parameter with the contour + * @param label Label entered by the user + * @param manualBaseModel Currently selected contour + */ + void onPrintLabel (wxString label, manualBaseModel* manualModel); - void saveFileWithContoursAutomatique(); + /** + * Calculates the size of the contour received as a parameter. Uses the measure of a pixel in millimeters. + * @param manualBaseModel Currently selected contour + */ + void onInsertCalculation(manualBaseModel* manualModel); + + /** + * Assigns and returns the value of a pixel in millimeters + @ param value Measure of the pixel in millimeters + */ + double onePixelSize(double value); + + /** + * Returns the type of the currently selected contour + */ + int getType(); + + /** + * Returns the size in pixels of the currently selected contour + */ + double getContourSizeInPixels(); + + /** + * Returns the currently selected contour. If no contour is selected returns NULL + */ + manualBaseModel* getContour(); + + /** + * Returns the Path of the data persistence file + */ + std::string GetFileLocation(); + + /** + * Assign a new path to the data persistence file + @ param newFileLocation New path of the file + */ + void SetFileLocation(std::string newFileLocation); +//------------------------------------------------------------------------------------------------------------ + + void SetScalarRange(int grayRangeMin, int grayRangeMax); + +//------------------------------------------------------------------------------------------------------------ + private: //------------------------------------------------------------------------------------------------------------ // Private methods @@ -318,18 +330,13 @@ private: // Attributtes //------------------------------------------------------------------------------------------------------------ + int _contourGroup; static wxContourMainFrame* instance; - KernelManagerContour* kernelManager; - interfMainPanel* _pannew; - PerformingOperation* _performingOperation; - std::string _datadir; - wxContourViewPanel* _theViewPanel; - wxInstantChooserPanel * _instantPanel; //AD: 03-09: This attributes represents the reference line that is going to be used for the mirroring @@ -337,48 +344,25 @@ private: manualContourModelLine * _refLineModel; manualViewLine * _refLineView; - - wxAuiManager m_mgr; wxAuiNotebook * notebook; - long m_notebook_style; long m_notebook_theme; int _numberOfVariablesStatistics; - vtkImageReslice * _imageReslicer; - vtkLookupTable * _thresholdTable; - vtkImageMapToColors * _thresholdMapper; - vtkImageActor * _thresholdActor; - - - bool _actorPresent; - - //OutlineModelManager * _modelManager; - + // Contour Image Mask + ThresholdImageView *_viewMaskImage; + ThresholdImageViewPanel *_viewMaskImagePanel; - - //wxContour_ButtonsBar * _buttonsBar; - - //wxContour_Grid * _gridPanel; - - //wxContour_DrawToolsPanel * _drawToolsPanel; - - //wxContour_OperationsToolsPanel * _operationsToolsPanel; - - //wxContour_AutomaticFormsToolsPanel * _autoFormsPanel; - - //wxContour_StandardToolsPanel *_standardToolsPanel; - - //wxContour_EdtionToolsPanel * _editionToolsPanel; - - //wxContour_ListViewPanel * _listViewPanel; - - //wxVtkBaseView_SceneManager * _sceneManager; - - //Instant * _actualInstant; - + // Threshold Image + ThresholdImageView *_viewThresholdImage; + ThresholdImageViewPanel *_viewThresholdImagePanel; + // Color Layer Image + ColorLayerImageView *_viewColorLayerImage; + ColorLayerImageViewPanel *_viewColorLayerImagePanel; + std::vector _images; + bool _actorPresent; /*DECLARE_CLASS(wxContourMainFrame) // any class wishing to process wxWindows events must use this macro @@ -386,25 +370,30 @@ private: bool _creatingContoursActive; ////////JCP 21 - 11 - 08 void createContour( int typeContour ); - //manualContourModel * factoryManualContourModel(int typeContour); - - manualContourModel * factoryManualContourModel(wxPanel* panel); - - + manualBaseModel * factoryManualContourModel(wxPanel* panel); + ContourExtractData *_contourextractdata; void saveState(); void loadState(std::string filename); - + void loadContours( FILE *pFile, bool staticContour ); void saveFileWithContours( std::string filename ); + void onLoadContours(std::string fileNameContourROI); int inredo; int inundo; std::string stundoredo; - - static char COPY; +//CMRU 17-08-09----------------------------------------------------------------------------------------------- + wxWindow *infoWin2; + wxPanel *calibrationPanel; + wxPanel *calibrationPanelError; + double _onePixelSize; + std::string _imageLocation; + std::string _fileLocation; +//------------------------------------------------------------------------------------------------------------ + }; #endif