X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.h;h=ffad5e36ad5633dbec8f7cb85b3f69565226307a;hb=5940ba0f3739ac136ec5ffbdb1e24518915a4664;hp=706382b81dca7ee3cf3e3b899921e22161fec1f8;hpb=1105d4fa1829853319070b3d5144eec7e12b246b;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h index 706382b..ffad5e3 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h @@ -22,19 +22,14 @@ #include "wx/aui/aui.h" #include "interfMainPanel.h" +#include "KernelManagerContour.h" -#include "wxVtkBaseView_SceneManager.h" +//#include "wxVtkBaseView_SceneManager.h" #include "wxInstantChooserPanel.h" #include "wxContourViewPanel.h" -#include "KernelManagerContour.h" - -#include "ContourWorkspace.h" +//#include "ContourWorkspace.h" #include "ContourExtractData.h" - - - - #include "PerformingOperation.h" @@ -45,37 +40,65 @@ //#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 "SomeEnvironment.h" +//#include "ContourWorkspace.h" +//#include "ContourWrap_ViewControl.h" +//#include "Instant.h" +//#include "PerformingOperation.h" -#include "ContourThing.h" +//#include "ContourThing.h" //#include "OutlineModelManager.h" -#include "wxContour_ButtonsBar.h" -#include "wxContour_ControlPanel.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 "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" +//ITK +#include "itkImage.h" +#include "itkGeodesicActiveContourLevelSetImageFilter.h" +#include "itkCurvatureAnisotropicDiffusionImageFilter.h" +#include "itkGradientMagnitudeRecursiveGaussianImageFilter.h" +#include "itkSigmoidImageFilter.h" +#include "itkFastMarchingImageFilter.h" +#include "itkRescaleIntensityImageFilter.h" +#include "itkBinaryThresholdImageFilter.h" +#include "itkZeroCrossingImageFilter.h" +#include "itkCastImageFilter.h" +#include "itkImageFileWriter.h" +#include "itkImageToVTKImageFilter.h" +#include "itkVTKImageToImageFilter.h" +//VTK +#include +#include #include "vtkContourFilter.h" +#include "vtkMarchingContourFilter.h" #include "vtkPolyDataConnectivityFilter.h" #include "vtkCleanPolyData.h" #include "vtkImageReslice.h" #include "vtkMetaImageWriter.h" #include "vtkImageData.h" -#include "vtkMetaImageReader.h" +#include "vtkTransform.h" + +#include "vtkCamera.h" +#include "vtkImageActor.h" +#include +#include +#include + +//#include "vtkMetaImageReader.h" //------------------------------------------------------------------------------------------------------------ // Events declaration @@ -90,7 +113,7 @@ //------------------------------------------------------------------------------------------------------------ // Class definition //------------------------------------------------------------------------------------------------------------ - +class interfMainPanel; class wxContourMainFrame : public wxPanel { public: @@ -101,16 +124,19 @@ class wxContourMainFrame : public wxPanel { 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); + 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 //------------------------------------------------------------------------------------------------------------ - bool configurePanels(wxAuiNotebook * theNoteBook ); - void setNotebook( wxAuiNotebook * theNoteBook ); + void setVectImages( std::vector images ); + + bool configurePanels( ); + + bool addNewPanel(wxPanel* panel); wxAuiNotebook * createNotebook(); @@ -124,21 +150,20 @@ class wxContourMainFrame : public wxPanel { void setInstantChooserPanel( wxInstantChooserPanel * theInstantChooserPanel ); - void setButtonsBar( wxContour_ButtonsBar * theButtonsBar ); - - void setGrid( wxContour_Grid * theGridPanel ); - void setDrawToolsPanel( wxContour_DrawToolsPanel * theDrawToolsPanel ); + void getMaskValue(vtkImageData* mask,vtkImageData* value,int typeContourGroup); - void setOperationsToolsPanel( wxContour_OperationsToolsPanel * theDrawToolsPanel ); + void SaveImageResult(std::string directory,std::string namefile, vtkImageData* mask,vtkImageData* value); - void setAutomaticFormsPanel( wxContour_AutomaticFormsToolsPanel * theAutoFormsPanel ); - void setStandardToolsPanel( wxContour_StandardToolsPanel * theStandardToolsPanel ); - - void setEditionToolsPanel( wxContour_EdtionToolsPanel * theEditionToolsPanel ); - - void setListViewPanel( wxContour_ListViewPanel * theListViewPanel ); +// 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 ); ////------------------------------------------------------------------------------------------------------------ @@ -154,8 +179,9 @@ class wxContourMainFrame : public wxPanel { //------------------------------------------------------------------------------------------------------------ // Attributes getters and setters //------------------------------------------------------------------------------------------------------------ - 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); + 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 //------------------------------------------------------------------------------------------------------------ @@ -172,6 +198,7 @@ class wxContourMainFrame : public wxPanel { void onCreateContourSpline( ); void onCreateContourRectangle( ); void onCreateContourCircle( ); + void onCreateContourLine( ); void onCreateContourBullEye(wxPanel* pan); ///////////////////////////////// void onDeleteContour(); @@ -190,7 +217,6 @@ class wxContourMainFrame : public wxPanel { std::string getNameWrapping(int i); - void updateInstantOutlines(); void updateInstantImageData(); void updateInstantAxes(); @@ -203,6 +229,7 @@ class wxContourMainFrame : public wxPanel { void onUndo(); void onRedo(); void createCopyContourOf ( std::string anExistingKName, std::vector &instantNoTouchData, bool append ); + void createMirrorContourOf ( std::string anExistingKName, std::vector &instantNoTouchData, bool append ); ///////////////////////7 void onLoad(); void onSave(); @@ -214,14 +241,25 @@ class wxContourMainFrame : public wxPanel { 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 ); + void SegmentationOneSliceITK(int x, int y, int z, wxString distance, wxString sigma, wxString alfa, wxString beta, wxString propagation, wxString iterations, wxString inflation); + void Mirror( int x, int y, int z, int isovalue, int sampling, int method ); + int GetImageDataSizeZ(); + void GetImageDataRange(double *range); + void onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method); - int GetImageDataSizeZ(); + //AD + void referenceLine(); + void refLineHide(); + void refLineShow(); + void refLineChangeWidth(int width); - void GetImageDataRange(double *range); + //AD + void onMirror(); + void onThreshold(int minVal, int maxVal); - void onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method); +//==================================================================================================== void showAxis(bool show); @@ -254,10 +292,13 @@ class wxContourMainFrame : public wxPanel { void SaveValuesXYZ(std::string directory,std::string namefile, int typeContourGroup); - void SaveImageResult(std::string directory,std::string namefile, int typeContourGroup); + void onChangeInstantInstantPanel(std::string name,int value, int minshow, int maxshow); + void onSnakePressed(); + + void saveFileWithContoursAutomatique(); private: //------------------------------------------------------------------------------------------------------------ // Private methods @@ -267,43 +308,60 @@ private: //------------------------------------------------------------------------------------------------------------ // Attributtes //------------------------------------------------------------------------------------------------------------ + 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 + manualLineControler * _refLineControl; + manualContourModelLine * _refLineModel; + manualViewLine * _refLineView; + + wxAuiManager m_mgr; /* wxArrayString m_perspectives; - wxMenu* m_perspectives_menu; - */ - long m_notebook_style; - long m_notebook_theme; - int _numberOfVariablesStatistics; + wxMenu* m_perspectives_menu; + */ + + wxAuiNotebook * notebook; + long m_notebook_style; + long m_notebook_theme; + int _numberOfVariablesStatistics; //OutlineModelManager * _modelManager; - wxInstantChooserPanel * _instantPanel; + - wxContour_ButtonsBar * _buttonsBar; + //wxContour_ButtonsBar * _buttonsBar; - wxContour_Grid * _gridPanel; + //wxContour_Grid * _gridPanel; - wxContour_DrawToolsPanel * _drawToolsPanel; + //wxContour_DrawToolsPanel * _drawToolsPanel; - wxContour_OperationsToolsPanel * _operationsToolsPanel; + //wxContour_OperationsToolsPanel * _operationsToolsPanel; - wxContour_AutomaticFormsToolsPanel * _autoFormsPanel; + //wxContour_AutomaticFormsToolsPanel * _autoFormsPanel; - wxContour_StandardToolsPanel *_standardToolsPanel; + //wxContour_StandardToolsPanel *_standardToolsPanel; - wxContour_EdtionToolsPanel * _editionToolsPanel; + //wxContour_EdtionToolsPanel * _editionToolsPanel; - wxContour_ListViewPanel * _listViewPanel; + //wxContour_ListViewPanel * _listViewPanel; - wxVtkBaseView_SceneManager * _sceneManager; + //wxVtkBaseView_SceneManager * _sceneManager; //Instant * _actualInstant; @@ -331,10 +389,6 @@ private: int inundo; std::string stundoredo; - - - //wxContourViewPanel* _viewPan; - PerformingOperation* _performingOperation; static char COPY;