X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvBinaryImageOverlayActor.h;h=2e575c316caf14d51f444c22cb274fa9d974bff5;hb=b7b8f2b040d1772c30c34653ee3fe0c27bc8fa71;hp=df9de09e270a4f415b756e42159430951075e2fd;hpb=fad7d69a7df544d05deaa19b81bd770aa4c7dd47;p=clitk.git diff --git a/vv/vvBinaryImageOverlayActor.h b/vv/vvBinaryImageOverlayActor.h index df9de09..2e575c3 100644 --- a/vv/vvBinaryImageOverlayActor.h +++ b/vv/vvBinaryImageOverlayActor.h @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef VVBINARYIMAGEOVERLAYACTOR_H #define VVBINARYIMAGEOVERLAYACTOR_H @@ -27,6 +27,8 @@ class vtkActor; class vvImage; class vtkImageMapToRGBA; class vtkImageActor; +class vtkImageReslice; +class vtkTransform; //------------------------------------------------------------------------------ class vvBinaryImageOverlayActor : public itk::LightObject @@ -40,12 +42,14 @@ class vvBinaryImageOverlayActor : public itk::LightObject void SetSlicer(vvSlicer * slicer); void SetColor(double r, double g, double b); void SetOpacity(double d); - void SetImage(vvImage * image, double bg, bool modeBG=true); + void SetImage(vvImage::Pointer image, double bg, bool modeBG=true); + void SetDepth(double d) { mDepth = d; } void Initialize(bool IsVisible=true); void UpdateColor(); - void UpdateSlice(int slicer, int slice); + void UpdateSlice(int slicer, int slice, bool force=false); void HideActors(); void ShowActors(); + void RemoveActors(); protected: vvSlicer * mSlicer; @@ -53,16 +57,19 @@ class vvBinaryImageOverlayActor : public itk::LightObject int mTSlice; int mPreviousTSlice; int mPreviousSlice; - vvImage * mImage; + vvImage::Pointer mImage; std::vector mColor; double mAlpha; double mBackgroundValue; double mForegroundValue; bool m_modeBG; vtkSmartPointer mColorLUT; + double mDepth; std::vector > mMapperList; std::vector > mImageActorList; + vtkSmartPointer mFusionReslice; + vtkSmartPointer mConcatenatedFusionTransform; void ComputeExtent(int orientation, int slice,