X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=vv%2FvvSlicer.h;h=e5d79229c29e40a33bf37f005e6400f8beb78369;hb=8e35d3afc7b626ac517905e7f8b846d94894110c;hp=570c43ddcbd83b027fab6b7ac7f2a87f7e0c453a;hpb=cb4bdfed13b79735336f2e087a0b9372610aac06;p=clitk.git diff --git a/vv/vvSlicer.h b/vv/vvSlicer.h index 570c43d..e5d7922 100644 --- a/vv/vvSlicer.h +++ b/vv/vvSlicer.h @@ -20,6 +20,7 @@ #include #include +#include #include //TODO delete #include @@ -58,11 +59,13 @@ class vtkScalarBarActor; class vtkTransform; class vtkImageReslice; -class vvSlicer: public vtkImageViewer2 -{ +class vvSlicer: public QObject, public vtkImageViewer2 { + +Q_OBJECT + public: static vvSlicer *New(); - vtkTypeRevisionMacro(vvSlicer,vtkImageViewer2); + vtkTypeMacro(vvSlicer,vtkImageViewer2); void PrintSelf(ostream& os, vtkIndent indent); void SetImage(vvImage::Pointer inputImages); @@ -148,7 +151,6 @@ public: double* GetCursorPosition() { return mCursor; } - vtkTransform * GetSlicingTransform() { return mSlicingTransform; } vtkTransform * GetConcatenatedTransform() { return mConcatenatedTransform; } vtkTransform * GetConcatenatedFusionTransform() { return mConcatenatedFusionTransform; } @@ -205,9 +207,19 @@ public: return mVFColor; } void SetVFColor(double r, double g, double b); - + //necessary to flag the secondary sequence void SetFusionSequenceCode(int code) {mFusionSequenceCode=code;} + 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(); @@ -264,6 +276,7 @@ protected: vtkSmartPointer legend; std::vector mSurfaceCutActors; + int mSlicerNumber; int mCurrentTSlice; int mCurrentFusionTSlice; int mCurrentOverlayTSlice; @@ -277,14 +290,14 @@ protected: double mVFColor[3]; bool mUseReducedExtent; int * mReducedExtent; - int * mInitialExtent; + int * mRegisterExtent; bool mLinkOverlayWindowLevel; bool showFusionLegend; private: void UpdateOrientation(); void UpdateDisplayExtent(); - void ConvertImageToImageDisplayExtent(vtkImageData *sourceImage, const int sourceExtent[6], + void ConvertImageToImageDisplayExtent(vtkInformation *sourceImage, const int sourceExtent[6], vtkImageData *targetImage, int targetExtent[6]); ///Sets the surfaces to be cut on the image slice: update the vtkCutter void SetContourSlice(); @@ -297,5 +310,6 @@ private: bool mOverlayVisibility; bool mFusionVisibility; bool mVFVisibility; + bool mFirstSetSliceOrientation; }; #endif