X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.h;h=fb5477af7c9b21b05148550622c488f538afcdde;hb=89f5bbefcd87de09f9c8d60e1d8fecabec554a1c;hp=04969ffa281375eb1e19ad06e21d66fe80412089;hpb=192dfdf774a06066eff90e9c50916723c8592706;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h index 04969ff..fb5477a 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h @@ -21,31 +21,58 @@ //------------------------------------------------------------------------------------------------------------ #include "wx/aui/aui.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 "OutlineModelManager.h" +#include "interfMainPanel.h" +#include "KernelManagerContour.h" + +//#include "wxVtkBaseView_SceneManager.h" #include "wxInstantChooserPanel.h" -#include "wxContour_ButtonsBar.h" -#include "wxContour_ControlPanel.h" #include "wxContourViewPanel.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 "wxVtkBaseView_SceneManager.h" + + +//#include "ContourWorkspace.h" +#include "ContourExtractData.h" +#include "PerformingOperation.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 "vtkContourFilter.h" +#include "vtkPolyDataConnectivityFilter.h" +#include "vtkCleanPolyData.h" +#include "vtkImageReslice.h" +#include "vtkMetaImageWriter.h" +#include "vtkImageData.h" +//#include "vtkMetaImageReader.h" //------------------------------------------------------------------------------------------------------------ // Events declaration @@ -71,6 +98,7 @@ 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,std::string datadir=""); ~wxContourMainFrame(); @@ -90,26 +118,24 @@ class wxContourMainFrame : public wxPanel { void createInstantChooserPanel(wxWindow * parent); void createViewPanel(wxWindow * parent); - - void setViewPanel( wxContourViewPanel * theViewPanel ); void setInstantChooserPanel( wxInstantChooserPanel * theInstantChooserPanel ); - void setButtonsBar( wxContour_ButtonsBar * theButtonsBar ); +// void setButtonsBar( wxContour_ButtonsBar * theButtonsBar ); - void setGrid( wxContour_Grid * theGridPanel ); +// void setGrid( wxContour_Grid * theGridPanel ); - void setDrawToolsPanel( wxContour_DrawToolsPanel * theDrawToolsPanel ); +// void setDrawToolsPanel( wxContour_DrawToolsPanel * theDrawToolsPanel ); - void setOperationsToolsPanel( wxContour_OperationsToolsPanel * theDrawToolsPanel ); +// void setOperationsToolsPanel( wxContour_OperationsToolsPanel * theDrawToolsPanel ); - void setAutomaticFormsPanel( wxContour_AutomaticFormsToolsPanel * theAutoFormsPanel ); +// void setAutomaticFormsPanel( wxContour_AutomaticFormsToolsPanel * theAutoFormsPanel ); - void setStandardToolsPanel( wxContour_StandardToolsPanel * theStandardToolsPanel ); +// void setStandardToolsPanel( wxContour_StandardToolsPanel * theStandardToolsPanel ); - void setEditionToolsPanel( wxContour_EdtionToolsPanel * theEditionToolsPanel ); +// void setEditionToolsPanel( wxContour_EdtionToolsPanel * theEditionToolsPanel ); - void setListViewPanel( wxContour_ListViewPanel * theListViewPanel ); +// void setListViewPanel( wxContour_ListViewPanel * theListViewPanel ); ////------------------------------------------------------------------------------------------------------------ @@ -125,12 +151,113 @@ 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, std::string datadir=""); + static wxContourMainFrame* getInstance(); //------------------------------------------------------------------------------------------------------------ // Other functional methods //------------------------------------------------------------------------------------------------------------ + /* + ** This method returns the vector of images selected by the user + ** return value std::vector + */ + std::vector getVectImages(); + + /** + ** This methods connect the event in the class interfMainPanel with the world of the appli + **/ + void onCreateContourSpline( ); + void onCreateContourRectangle( ); + void onCreateContourCircle( ); + void onCreateContourBullEye(wxPanel* pan); + ///////////////////////////////// + void onDeleteContour(); + void deleteContours( std::vector keyNamesVector ); + void deleteContour( std::string theKeyName ); + void onDeleteContoursActSlice(); + void onDeleteAllContours(); + void deleteAllContours(); + 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(); + void onUndo(); + void onRedo(); + void createCopyContourOf ( std::string anExistingKName, std::vector &instantNoTouchData, bool append ); +///////////////////////7 + void onLoad(); + void onSave(); + + void openContours( FILE *pFile, bool staticContour ); + + void RefreshInterface(); + + vtkImageData* getImageData(); + + void onSegmentationOneSlice(int isovalue,int sampling,int method); + + void SegmentationOneSlice( 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); + + 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); + + void onSaveResults(std::string directory,std::string namefile, std::string filename, int typeContourGroup); + + 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 @@ -140,6 +267,14 @@ private: //------------------------------------------------------------------------------------------------------------ // Attributtes //------------------------------------------------------------------------------------------------------------ + static wxContourMainFrame* instance; + + KernelManagerContour* kernelManager; + + wxContourViewPanel* _theViewPanel; + + wxInstantChooserPanel * _instantPanel; + wxAuiManager m_mgr; /* @@ -148,37 +283,62 @@ private: */ long m_notebook_style; long m_notebook_theme; + int _numberOfVariablesStatistics; - wxContourViewPanel * _theViewPanel; + //OutlineModelManager * _modelManager; - 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; - Instant * _actualInstant; + /*DECLARE_CLASS(wxContourMainFrame) // any class wishing to process wxWindows events must use this macro DECLARE_EVENT_TABLE()*/ bool _creatingContoursActive; +////////JCP 21 - 11 - 08 + void createContour( int typeContour ); + + //manualContourModel * factoryManualContourModel(int typeContour); + + manualContourModel * factoryManualContourModel(wxPanel* panel); + + + + void saveState(); + void loadState(std::string filename); + + void saveFileWithContours( std::string filename ); + + int inredo; + int inundo; + std::string stundoredo; + + + + //wxContourViewPanel* _viewPan; + PerformingOperation* _performingOperation; + + static char COPY; };