X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.h;h=7b80e5b473257a415ab54df7c10e25f33d4e7cda;hb=e4a8d645b4aec3835d1b51a1f8d8f68a9da6a047;hp=90361d379e70f17022f0f82cca6f918c118a69e3;hpb=4c09825c0ea64e4da536d1f5bfd774d526269a9b;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h index 90361d3..7b80e5b 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.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 __wxContourMainFrame_h_INCLUDED_H__ #define __wxContourMainFrame_h_INCLUDED_H__ @@ -55,7 +80,10 @@ #include "itkZeroCrossingImageFilter.h" #include "itkCastImageFilter.h" -#include "itkImageFileWriter.h" +//EED10JUIN2011 #include "itkImageFileWriter.h" + +//EED2020-03-18 +#undef Success #include "itkImageToVTKImageFilter.h" #include "itkVTKImageToImageFilter.h" @@ -71,7 +99,6 @@ #include "vtkMetaImageWriter.h" #include "vtkImageData.h" #include "vtkTransform.h" - #include "vtkCamera.h" #include "vtkImageActor.h" #include @@ -95,58 +122,38 @@ //------------------------------------------------------------------------------------------------------------ class interfMainPanel; class wxContourMainFrame : public wxPanel { - public: - //------------------------------------------------------------------------------------------------------------ // Constructors & Destructors //------------------------------------------------------------------------------------------------------------ - - wxContourMainFrame(wxWindow* parent, wxWindowID id,const wxString& title,const wxPoint& pos,const wxSize& size,long style = wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER); wxContourMainFrame(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/"); - ~wxContourMainFrame(); - //------------------------------------------------------------------------------------------------------------ // Creational and initialization methods //------------------------------------------------------------------------------------------------------------ - - void setVectImages(std::vector imgs); - + void changeImage(int id, vtkImageData *img); + void configure(std::vector imgs); bool configurePanels( ); - bool addNewPanel(wxPanel* panel); - wxAuiNotebook * createNotebook(); - void createInstantChooserPanel(wxAuiNotebook * parent); - void createViewPanel(wxAuiNotebook * parent); - void createInstantChooserPanel(wxWindow * parent); - void createViewPanel(wxWindow * parent); - + wxVtkBaseView* GetWxVtkBaseView(); void setInstantChooserPanel( wxInstantChooserPanel * theInstantChooserPanel ); - 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); - - ////------------------------------------------------------------------------------------------------------------ //// Methods for capturing events ////------------------------------------------------------------------------------------------------------------ - ////------------------------------------------------------------------------------------------------------------ //// Model management methods ////------------------------------------------------------------------------------------------------------------ - //------------------------------------------------------------------------------------------------------------ // Attributes getters and setters //------------------------------------------------------------------------------------------------------------ @@ -184,19 +191,13 @@ class wxContourMainFrame : public wxPanel { void setConceptValue( std::string name, int value ); ConceptDataWrap* getLastConceptData(); bool getIfConceptCheckedAt( std::string name, int pos ); - void changeInstant(); - int getNamesWrappingSize(); - std::string getNameWrapping(int i); - void updateInstantOutlines(); void updateInstantImageData(); void updateInstantAxes(); - void onChangeDeep(int val); - /////////////////////////// void onCopy(); void onPaste(); @@ -205,16 +206,13 @@ class wxContourMainFrame : public wxPanel { void createCopyContourOf ( std::string anExistingKName, std::vector &instantNoTouchData, bool append ); void createMirrorContourOf ( std::string anExistingKName, std::vector &instantNoTouchData, bool append ); ///////////////////////7 - void onLoad(); + void onLoad(bool interactiveInterface=true); void onSave(); void onImport(); void onTest(); void openContours( FILE *pFile, FILE *pFileData, bool staticContour ); - void RefreshInterface(); - vtkImageData* getImageData(); - void onSegmentationOneSlice(int isovalue,int sampling,int method); void onSegmentationOneSliceITK(wxString distance, wxString sigma, wxString alfa, wxString beta, wxString propagation, wxString iterations, wxString inflation); void SegmentationOneSlice( int x, int y, int z, int isovalue, int sampling, int method ); @@ -233,6 +231,12 @@ class wxContourMainFrame : public wxPanel { //AD void onMirror(); + //EED + void FlipContours(int typeContourFlip, int flipDirection); + void FlipSelectedContours(int flipDirection); + void FlipActualSliceContours(int flipDirection); + void FlipAllContours(int flipDirection); + void FlipLstOfContours(std::vector lstNameThings, int flipDirection); //==================================================================================================== @@ -243,9 +247,13 @@ class wxContourMainFrame : public wxPanel { int getWindowLevel(); void onBrigthnessColorWindowLevel(int colorwindow,int windowlevel); void onInterpolation(bool interpolate); + void onShowTextContour(bool show); + void onBeforeAfterContour(bool before, bool after); + void onJumpSlice(int step,int shift); void onChangeInstant(std::string name,int actual); void resetAppend(); void onSpreadAdd(); + void onSpreadAddAll(); void onSpreadGo(int type); void getInstantVector(std::vector& tempVector); std::vector getOutlinesName(int slide); @@ -254,19 +262,19 @@ class wxContourMainFrame : public wxPanel { // // @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, 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 ); + 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, 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); + void SetContourGroup(int contourGroup); wxPanel *getThresholdImageViewPanel(wxWindow *parent); wxPanel *getColorLayerImageViewPanel(wxWindow *parent); - + void SetColorLayerImage(vtkImageData*); //CMRU 17-08-09----------------------------------------------------------------------------------------------- @@ -317,8 +325,10 @@ class wxContourMainFrame : public wxPanel { //------------------------------------------------------------------------------------------------------------ void SetScalarRange(int grayRangeMin, int grayRangeMax); + std::string GetStringTypeImage( vtkImageData* image); //------------------------------------------------------------------------------------------------------------ + void SetXY(int x,int y); private: //------------------------------------------------------------------------------------------------------------ @@ -330,7 +340,7 @@ private: // Attributtes //------------------------------------------------------------------------------------------------------------ - int _contourGroup; + int _contourGroup; static wxContourMainFrame *instance; KernelManagerContour *kernelManager; interfMainPanel *_pannew; @@ -346,9 +356,9 @@ private: wxAuiManager m_mgr; wxAuiNotebook *notebook; - long m_notebook_style; - long m_notebook_theme; - int _numberOfVariablesStatistics; + long m_notebook_style; + long m_notebook_theme; + int _numberOfVariablesStatistics; // Contour Image Mask ThresholdImageView *_viewMaskImage; @@ -359,15 +369,14 @@ private: ThresholdImageViewPanel *_viewThresholdImagePanel; // Color Layer Image - ColorLayerImageView *_viewColorLayerImage; ColorLayerImageViewPanel *_viewColorLayerImagePanel; std::vector _images; bool _actorPresent; // temporary variables readding .roi file - int _tmpReadFileImageDim[3]; - double _tmpReadFileImageSpac[3]; - int _tmpReadFileTypeOfTransformation; + int _tmpReadFileImageDim[3]; + double _tmpReadFileImageSpac[3]; + int _tmpReadFileTypeOfTransformation; void readDimSpc(FILE *pFile, bool interactiveOption); @@ -381,13 +390,14 @@ private: manualBaseModel * factoryManualContourModel(wxPanel* panel); ContourExtractData *_contourextractdata; - void saveState(); - void loadState(std::string filename); - + void saveState(); + void loadState(std::string filename); + // void loadContours( FILE *pFile, bool staticContour ); - + void saveFileWithContours( std::string filename ); void onLoadContours(std::string fileNameContourROI, bool interactiveInterface); + void SetZForAllContours(int pz); int inredo; int inundo; @@ -403,6 +413,8 @@ private: std::string _fileLocation; //------------------------------------------------------------------------------------------------------------ + wxFrame *_frameShowResultImages; + }; #endif