X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxContourMainFrame.h;h=d70c1eb7407ae0d48f65a2350d33dff3e737ea95;hb=8c7f886b29c0f0415cdce826804f9aec7dfbc6de;hp=c9c34561a751fc51631c1f5ca3c1789c9627877a;hpb=2e4190247854f254d184bbccf1f3ffa1d12d773c;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h index c9c3456..d70c1eb 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h +++ b/lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h @@ -28,13 +28,13 @@ #include "wxInstantChooserPanel.h" #include "wxContourViewPanel.h" - - //#include "ContourWorkspace.h" #include "ContourExtractData.h" #include "PerformingOperation.h" - +#include "manualLineControler.h" +#include "manualContourModelLine.h" +#include "manualViewLine.h" //#include "ContourThing.h" //#include "AxeThing.h" @@ -64,15 +64,42 @@ //#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 "vtkTransform.h" + +#include "vtkCamera.h" +#include "vtkImageActor.h" +#include +#include +#include + //#include "vtkMetaImageReader.h" //------------------------------------------------------------------------------------------------------------ @@ -88,7 +115,7 @@ //------------------------------------------------------------------------------------------------------------ // Class definition //------------------------------------------------------------------------------------------------------------ - +class interfMainPanel; class wxContourMainFrame : public wxPanel { public: @@ -99,16 +126,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,std::string datadir=""); + 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 imgs); + + bool configurePanels( ); + + bool addNewPanel(wxPanel* panel); wxAuiNotebook * createNotebook(); @@ -122,20 +152,21 @@ class wxContourMainFrame : public wxPanel { void setInstantChooserPanel( wxInstantChooserPanel * theInstantChooserPanel ); -// void setButtonsBar( wxContour_ButtonsBar * theButtonsBar ); -// void setGrid( wxContour_Grid * theGridPanel ); + void getMaskValue(vtkImageData ** mask,vtkImageData ** value,int typeContourGroup); -// void setDrawToolsPanel( wxContour_DrawToolsPanel * theDrawToolsPanel ); + void SaveImageResult(std::string directory,std::string namefile, vtkImageData* mask,vtkImageData* value); -// void setOperationsToolsPanel( wxContour_OperationsToolsPanel * theDrawToolsPanel ); + void ShowToolsPanel(bool show); -// void setAutomaticFormsPanel( wxContour_AutomaticFormsToolsPanel * theAutoFormsPanel ); +// 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 ); @@ -152,8 +183,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, std::string datadir=""); + 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 //------------------------------------------------------------------------------------------------------------ @@ -189,7 +221,6 @@ class wxContourMainFrame : public wxPanel { std::string getNameWrapping(int i); - void updateInstantOutlines(); void updateInstantImageData(); void updateInstantAxes(); @@ -214,22 +245,29 @@ 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(); - + int GetImageDataSizeZ(); void GetImageDataRange(double *range); - void onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method); //AD void referenceLine(); + void refLineHide(); + void refLineShow(); + void refLineChangeWidth(int width); //AD void onMirror(); + void onThreshold(); + void onThresholdChange(); + void onThresholdInterpolation(bool interpolate); + void onThresholdChangeOpacity (int opacity); + void onThresholdRemove(); + +//==================================================================================================== void showAxis(bool show); @@ -258,11 +296,12 @@ class wxContourMainFrame : public wxPanel { void onInformationContourLabels(int typeContourGroup,int selection,int minimumZ,int maximumZ); - void onSaveResults(std::string directory,std::string namefile, std::string filename, int typeContourGroup); + void onSaveResults(std::string directory,std::string namefile, std::string filename, + int typeContourGroup, bool XYZValues, bool contourImage, bool statistics); 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); @@ -278,26 +317,43 @@ private: //------------------------------------------------------------------------------------------------------------ // Attributtes //------------------------------------------------------------------------------------------------------------ + static wxContourMainFrame* instance; KernelManagerContour* kernelManager; + interfMainPanel* _pannew; + + PerformingOperation* _performingOperation; + + std::string _datadir; + wxContourViewPanel* _theViewPanel; wxInstantChooserPanel * _instantPanel; - //AD - std::string _refName; + //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; - */ + wxAuiNotebook * notebook; + long m_notebook_style; long m_notebook_theme; - int _numberOfVariablesStatistics; + int _numberOfVariablesStatistics; + + vtkImageReslice * _imageReslicer; + vtkLookupTable * _thresholdTable; + vtkImageMapToColors * _thresholdMapper; + vtkImageActor * _thresholdActor; + + std::vector _images; + + bool _actorPresent; //OutlineModelManager * _modelManager; @@ -347,10 +403,6 @@ private: int inundo; std::string stundoredo; - - - //wxContourViewPanel* _viewPan; - PerformingOperation* _performingOperation; static char COPY;