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 vvImage;
class vtkImageMapToRGBA;
class vtkImageActor;
+class vtkImageReslice;
+class vtkTransform;
//------------------------------------------------------------------------------
-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 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);
+ void UpdateSlice(int slicer, int slice, bool force=false);
void HideActors();
void ShowActors();
+ void RemoveActors();
protected:
vvSlicer * mSlicer;
double mBackgroundValue;
double mForegroundValue;
bool m_modeBG;
- vtkLookupTable * mColorLUT;
+ vtkSmartPointer<vtkLookupTable> mColorLUT;
+ double mDepth;
- std::vector<vtkImageMapToRGBA *> mMapperList;
- std::vector<vtkImageActor*> mImageActorList;
+ std::vector<vtkSmartPointer<vtkImageMapToRGBA> > mMapperList;
+ std::vector<vtkSmartPointer<vtkImageActor> > mImageActorList;
+ vtkSmartPointer<vtkImageReslice> mFusionReslice;
+ vtkSmartPointer<vtkTransform> mConcatenatedFusionTransform;
void ComputeExtent(int orientation,
int slice,
vtkImageActor * actor,
double position);
+private:
+ vvBinaryImageOverlayActor();
+ ~vvBinaryImageOverlayActor();
+
}; // end class vvBinaryImageOverlayActor
//------------------------------------------------------------------------------