X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FThresholdImageView%2FLayerImageBase.h;h=5e8dcac9a9df2912ba3979206d1e1d1c3c2e3f6b;hb=cef231b63d21ad7ac9914306a0a012666c24f00a;hp=1781373de5a94f7360683f48c4ade828de891e75;hpb=ef92674006375c4fe7b842ce834590c5b6d9683f;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h index 1781373..5e8dcac 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h @@ -42,25 +42,31 @@ #include #include #include "wxVtkBaseView.h" +#include "vtkScalarBarActor.h" #include "InteractorStyleMaracas.h" +#include "vtkImageChangeInformation.h" + //---------------------------------------------------------------------------------- //---------------------------------------------------------------------------------- //---------------------------------------------------------------------------------- class LayerImageBase; -class ColorLayerImageBasevtkInteractor : public InteractorStyleMaracas { +class ColorLayerImageBasevtkInteractor : public InteractorStyleMaracas +{ public: ColorLayerImageBasevtkInteractor(LayerImageBase* layerImageBase); virtual ~ColorLayerImageBasevtkInteractor(); - virtual bool OnMouseMove(); - virtual bool OnRightButtonDown(); - virtual bool OnRightButtonUp(); + virtual bool OnChar(); + virtual bool OnMouseMove(); + virtual bool OnRightButtonDown(); + virtual bool OnRightButtonUp(); private: - bool _state; + bool _state; + bool _stateKey; LayerImageBase* _layerImageBase; protected: @@ -75,15 +81,20 @@ protected: class LayerImageBase - { + { public: LayerImageBase(); virtual ~LayerImageBase(); - void SetX(int x); - void SetY(int y); - void SetZ(int z); - void SetImage(vtkImageData* image); - void SetwxVtkBaseView(wxVtkBaseView *baseview); + void SetX(int x); + void SetY(int y); + void SetZ(int z); + void SetImage(vtkImageData* image); + vtkImageData* GetImage(); + void SetRangeForColorBar(std::vector &range); + void GetRangeForColorBar(double &minRange, double &maxRange); + void SetColorBarPosition(std::vector &colorbarposition); + void SetwxVtkBaseView(wxVtkBaseView *baseview); + void onThreshold(); void onThresholdChange(); @@ -97,27 +108,53 @@ class LayerImageBase virtual int GetX(); virtual int GetY(); virtual int GetZ(); + bool GetActorPresent(); + void GetImageScalarRange(); + + void SetDimensionOriginalLayer(int dim[3]); + void SetDimensionBase(int dim[3]); + void SetSpcOriginalLayer(double spc[3]); + void SetNewSpacingLayer(double spc[3]); + void SetSpcBase(double spc[3]); + void GetDimensionOriginalLayer(int *dim); + void GetDimensionBase(int *dim); + void GetSpcOriginalLayer(double *spc); + void GetSpcBase(double *spc); + private: - int _X; - int _Y; - int _Z; - bool _actorPresent; - vtkImageData *_image; - vtkImageReslice *_imageReslicer; - vtkLookupTable *_thresholdTable; - vtkImageMapToColors *_thresholdMapper; - vtkImageActor *_thresholdActor; - wxVtkBaseView *_baseView; - - virtual void ConfigLookupTable() = 0; - bool GetActorPresent(); - void CleanXYZ(double &x, double &y, double &z); + int _X; + int _Y; + int _Z; + bool _actorPresent; + int _dimOriginalLayer[3]; + double _spcOriginalLayer[3]; + double _newSpcLayer[3]; + int _dimBase[3]; + double _spcBase[3]; + + + + vtkImageData *_image; + vtkImageChangeInformation *_imageChangeInformation; + vtkImageReslice *_imageReslicer; + vtkLookupTable *_thresholdTable; + vtkImageMapToColors *_thresholdMapper; + vtkImageActor *_thresholdActor; + wxVtkBaseView *_baseView; + + vtkScalarBarActor *_scalarbarActor; + + virtual void ConfigLookupTable() = 0; + void CleanXYZ(double &x, double &y, double &z); protected: - vtkLookupTable* GetThresholdTable(); - vtkImageData* GetImage(); + vtkLookupTable *GetThresholdTable(); + double _range[2]; + std::vector _rangeForColorBar; + std::vector _colorBarPosition; + };