X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvBinaryImageOverlayActor.h;h=9559bc78a0bd1e8952cfcd38df74198cc4440031;hb=2b4f24763b17fe431e37952269c8efb83b9fb06b;hp=e4e3be9be351d4f3533741e178dd0e0fdfdc29fc;hpb=e94da8e1a76e3c9bf5301ce46e72074ba01cd1c1;p=clitk.git diff --git a/vv/vvBinaryImageOverlayActor.h b/vv/vvBinaryImageOverlayActor.h index e4e3be9..9559bc7 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 @@ -29,20 +29,25 @@ class vtkImageMapToRGBA; class vtkImageActor; //------------------------------------------------------------------------------ -class vvBinaryImageOverlayActor +class vvBinaryImageOverlayActor : public itk::LightObject { // Q_OBJECT public: - vvBinaryImageOverlayActor(); - ~vvBinaryImageOverlayActor(); + typedef vvBinaryImageOverlayActor Self; + typedef itk::SmartPointer Pointer; + itkNewMacro(Self); - void setSlicer(vvSlicer * slicer); - void update(int slicer, int slice); - void hideActors(); - void showActors(); - void setColor(double r, double g, double b); - void setImage(vvImage::Pointer image); - void initialize(); + void SetSlicer(vvSlicer * slicer); + void SetColor(double r, double g, double b); + void SetOpacity(double d); + 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, bool force=false); + void HideActors(); + void ShowActors(); + void RemoveActors(); protected: vvSlicer * mSlicer; @@ -53,9 +58,14 @@ class vvBinaryImageOverlayActor vvImage::Pointer mImage; std::vector mColor; double mAlpha; - - std::vector mMapperList; - std::vector mImageActorList; + double mBackgroundValue; + double mForegroundValue; + bool m_modeBG; + vtkSmartPointer mColorLUT; + double mDepth; + + std::vector > mMapperList; + std::vector > mImageActorList; void ComputeExtent(int orientation, int slice, @@ -71,6 +81,10 @@ class vvBinaryImageOverlayActor vtkImageActor * actor, double position); +private: + vvBinaryImageOverlayActor(); + ~vvBinaryImageOverlayActor(); + }; // end class vvBinaryImageOverlayActor //------------------------------------------------------------------------------