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
- 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
class vtkImageActor;
//------------------------------------------------------------------------------
-class vvBinaryImageOverlayActor
+class vvBinaryImageOverlayActor : public itk::LightObject
{
// Q_OBJECT
public:
- vvBinaryImageOverlayActor();
- ~vvBinaryImageOverlayActor();
+ typedef vvBinaryImageOverlayActor Self;
+ typedef itk::SmartPointer<Self> 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;
vvImage::Pointer mImage;
std::vector<double> mColor;
double mAlpha;
-
- std::vector<vtkImageMapToRGBA *> mMapperList;
- std::vector<vtkImageActor*> mImageActorList;
+ double mBackgroundValue;
+ double mForegroundValue;
+ bool m_modeBG;
+ vtkSmartPointer<vtkLookupTable> mColorLUT;
+ double mDepth;
+
+ std::vector<vtkSmartPointer<vtkImageMapToRGBA> > mMapperList;
+ std::vector<vtkSmartPointer<vtkImageActor> > mImageActorList;
void ComputeExtent(int orientation,
int slice,
vtkImageActor * actor,
double position);
+private:
+ vvBinaryImageOverlayActor();
+ ~vvBinaryImageOverlayActor();
+
}; // end class vvBinaryImageOverlayActor
//------------------------------------------------------------------------------