X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FThresholdImageView%2FLayerImageBase.h;h=5e8dcac9a9df2912ba3979206d1e1d1c3c2e3f6b;hb=cef231b63d21ad7ac9914306a0a012666c24f00a;hp=fec399ca43a180788f551dee20215bc3f69a024f;hpb=63a0a21e6736a800c58442edd531c91d75e71694;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 fec399c..5e8dcac 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.h @@ -45,6 +45,8 @@ #include "vtkScalarBarActor.h" #include "InteractorStyleMaracas.h" +#include "vtkImageChangeInformation.h" + //---------------------------------------------------------------------------------- //---------------------------------------------------------------------------------- @@ -63,7 +65,7 @@ public: virtual bool OnRightButtonUp(); private: - bool _state; + bool _state; bool _stateKey; LayerImageBase* _layerImageBase; @@ -83,11 +85,16 @@ 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(); @@ -102,28 +109,52 @@ class LayerImageBase 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; + int _X; + int _Y; + int _Z; bool _actorPresent; - vtkImageData *_image; - vtkImageReslice *_imageReslicer; - vtkLookupTable *_thresholdTable; - vtkImageMapToColors *_thresholdMapper; - vtkImageActor *_thresholdActor; - wxVtkBaseView *_baseView; + int _dimOriginalLayer[3]; + double _spcOriginalLayer[3]; + double _newSpcLayer[3]; + int _dimBase[3]; + double _spcBase[3]; - vtkScalarBarActor *_scalarbarActor; + - virtual void ConfigLookupTable() = 0; - void CleanXYZ(double &x, double &y, double &z); + 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; + };