X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicer.h;h=44e1a2cdde7ef23c7baa53c68651fadd497db516;hb=336d665ba18331af2b6f8005da29af73e699552c;hp=95ec75e80438d4b5d4e6185f2bca504fc31c09fb;hpb=ea2fc85081a73d762517dc9663bcc6d5bf15241d;p=clitk.git diff --git a/vv/vvSlicer.h b/vv/vvSlicer.h index 95ec75e..44e1a2c 100644 --- a/vv/vvSlicer.h +++ b/vv/vvSlicer.h @@ -28,6 +28,7 @@ #include #include #include +#include class vtkActor; class vtkActor2D; @@ -70,7 +71,7 @@ public: } vtkImageMapToWindowLevelColors* GetOverlayMapper(); vvBlendImageActor* GetOverlayActor() ; - vtkImageMapToWindowLevelColors* GetFusionMapper() ; + vtkImageMapToColors* GetFusionMapper() ; vtkImageActor* GetFusionActor() ; vtkActor* GetVFActor() ; vtkCornerAnnotation* GetAnnotation(); @@ -79,10 +80,12 @@ public: vvImage::Pointer GetFusion() { return mFusion; } + void ShowFusionLegend(bool show) { showFusionLegend = show; } - /**Set an actor's visibility ("overlay, fusion, vf, contour...") + /**Get/Set an actor's visibility ("overlay, fusion, vf, contour...") Overlay index is the index of the overlay by type, eg. if there are 5 contours and we want to activate the 3rd one, pass 2 **/ + bool GetActorVisibility(const std::string& actor_type, int overlay_index); void SetActorVisibility(const std::string& actor_type, int overlay_index,bool vis); void RemoveActor(const std::string& actor_type, int overlay_index); @@ -137,10 +140,11 @@ public: return mCursor; } + vtkTransform * GetSlicingTransform() { return mSlicingTransform; } + vtkTransform * GetConcatenatedTransform() { return mConcatenatedTransform; } + void SetCurrentPosition(double x, double y, double z, int t); - double* GetCurrentPosition() { - return mCurrent; - } + double* GetCurrentPosition(); void UpdateCursorPosition(); void SetCursorVisibility(bool s); @@ -151,7 +155,7 @@ public: void SetCornerAnnotationVisibility(bool s); bool GetCornerAnnotationVisibility(); - void GetExtremasAroundMousePointer(double & min, double & max); + void GetExtremasAroundMousePointer(double & min, double & max, vtkImageData *image, vtkTransform *transform); void UpdateLandmarks(); void ForceUpdateDisplayExtent(); @@ -166,6 +170,14 @@ public: virtual void SetColorWindow(double s); virtual void SetColorLevel(double s); + double GetOverlayColorWindow(); + double GetOverlayColorLevel(); + bool GetLinkOverlayWindowLevel() { return mLinkOverlayWindowLevel; } + + void SetOverlayColorWindow(double s); + void SetOverlayColorLevel(double s); + void SetLinkOverlayWindowLevel(bool b) { mLinkOverlayWindowLevel = b; } + /** * When it is enabled, beware of a call to GetExtent. * we must have setted mReducedExtent otherwhise random values @@ -196,11 +208,13 @@ protected: vvLandmarks* mLandmarks; vtkSmartPointer mImageReslice; + vtkSmartPointer mSlicingTransform; + vtkSmartPointer mConcatenatedTransform; vtkSmartPointer mOverlayReslice; vtkSmartPointer mOverlayMapper; vtkSmartPointer mOverlayActor; vtkSmartPointer mFusionReslice; - vtkSmartPointer mFusionMapper; + vtkSmartPointer mFusionMapper; vtkSmartPointer mFusionActor; vtkSmartPointer ca; vtkSmartPointer crossCursor; @@ -224,6 +238,7 @@ protected: int mCurrentTSlice; double mCurrent[3]; + double mCurrentBeforeSlicingTransform[3]; double mCursor[4]; int mSubSampling; int mScale; @@ -233,6 +248,8 @@ protected: bool mUseReducedExtent; int * mReducedExtent; int * mInitialExtent; + bool mLinkOverlayWindowLevel; + bool showFusionLegend; private: void UpdateOrientation();