#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 OnRightButtonUp();
private:
- bool _state;
- bool _stateKey;
+ bool _state;
+ bool _stateKey;
LayerImageBase* _layerImageBase;
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<double> &range);
+ void GetRangeForColorBar(double &minRange, double &maxRange);
+ void SetColorBarPosition(std::vector<int> &colorbarposition);
+ void SetwxVtkBaseView(wxVtkBaseView *baseview);
void onThreshold();
void onThresholdChange();
void onThresholdRemove();
wxVtkBaseView *GetwxVtkBaseView();
void Refresh();
- vtkLookupTable *GetvtkLookupTable();
+ vtkLookupTable *GetThresholdTable();
+
vtkImageReslice *GetvtkImageReslice();
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);
+ vtkScalarsToColors* GetLookupTable();
private:
- int _X;
- int _Y;
- int _Z;
- bool _actorPresent;
- vtkImageData *_image;
- vtkImageReslice *_imageReslicer;
- vtkLookupTable *_thresholdTable;
- vtkImageMapToColors *_thresholdMapper;
- vtkImageActor *_thresholdActor;
- wxVtkBaseView *_baseView;
-
- vtkScalarBarActor *_scalarbarActor;
-
- virtual void ConfigLookupTable() = 0;
- 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];
+ double _opacity;
+
+ 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();
+ double _range[2];
+ std::vector<double> _rangeForColorBar;
+ std::vector<int> _colorBarPosition;
};