X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicer.h;h=23c19599958dcf66a5f67cfc8d8286c8ee38ba2f;hb=dcb3446e7d4a04cdaac655b3181109d4463252b9;hp=5b317b40c74b4df4c312e7d3bcd691a95388c03a;hpb=8dc75d1449323b08bf7378cded6f0bec24b2016f;p=clitk.git diff --git a/vv/vvSlicer.h b/vv/vvSlicer.h index 5b317b4..23c1959 100644 --- a/vv/vvSlicer.h +++ b/vv/vvSlicer.h @@ -20,6 +20,7 @@ #include #include +#include #include //TODO delete #include @@ -34,6 +35,7 @@ #include #include #include +#include class vtkActor; class vtkActor2D; @@ -58,8 +60,10 @@ class vtkScalarBarActor; class vtkTransform; class vtkImageReslice; -class vvSlicer: public vtkImageViewer2 -{ +class vvSlicer: public QObject, public vtkImageViewer2 { + +Q_OBJECT + public: static vvSlicer *New(); vtkTypeMacro(vvSlicer,vtkImageViewer2); @@ -119,7 +123,7 @@ public: void SetDisplayMode(bool i); void FlipHorizontalView(); void FlipVerticalView(); - static double GetScalarComponentAsDouble(vtkImageData *image, double X, double Y, double Z, int &ix, int &iy, int &iz, int component=0); + double GetScalarComponentAsDouble(vtkImageData *image, double X, double Y, double Z, int &ix, int &iy, int &iz, int component=0); void Render(); ///Sets the camera to fit the image in the window void ResetCamera(); @@ -167,7 +171,8 @@ public: void GetExtremasAroundMousePointer(double & min, double & max, vtkImageData *image, vtkTransform *transform); - void UpdateLandmarks(); + void RemoveLandmarks(); + void DisplayLandmarks(); void ForceUpdateDisplayExtent(); int* GetDisplayExtent(); @@ -176,6 +181,7 @@ public: void AddContour(vvMesh::Pointer contours,bool propagate); ///Toggle temporal superposition of contours void ToggleContourSuperposition(); + void SetInterpolationImageReslice(int interpolation); virtual void SetColorWindow(double s); virtual void SetColorLevel(double s); @@ -210,6 +216,13 @@ public: void SetRegisterExtent(int [6]); void GetRegisterExtent(int [6]); + void SetSlicerNumber(const int nbSlicer) {mSlicerNumber = nbSlicer;} + int GetSlicerNumber() const {return mSlicerNumber;} + +signals: + void UpdateDisplayExtentBegin(int); + void UpdateDisplayExtentEnd(int); + protected: vvSlicer(); ~vvSlicer(); @@ -235,6 +248,7 @@ protected: // ___|__|___ VTK world coordinates (mm) (never displayed) mCurrent vtkSmartPointer mSlicingTransform; + vtkSmartPointer mLandmarkTransform; vtkSmartPointer mImageReslice; vtkSmartPointer mConcatenatedTransform; vtkSmartPointer mOverlayReslice; @@ -266,6 +280,7 @@ protected: vtkSmartPointer legend; std::vector mSurfaceCutActors; + int mSlicerNumber; int mCurrentTSlice; int mCurrentFusionTSlice; int mCurrentOverlayTSlice;