X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicer.h;h=0a0bcca86395deffd27d00230ffbc6e62eeaf2c1;hb=cd04d8c797defe2fdaff3d1fa09928b22dd6edc4;hp=a5156f28bc92e4f3c08e49db2c30b74c46d44ff9;hpb=6194949c0beb1589904e22381b9aba1bbface172;p=clitk.git diff --git a/vv/vvSlicer.h b/vv/vvSlicer.h index a5156f2..0a0bcca 100644 --- a/vv/vvSlicer.h +++ b/vv/vvSlicer.h @@ -80,6 +80,7 @@ public: vvImage::Pointer GetFusion() { return mFusion; } + void ShowFusionLegend(bool show) { showFusionLegend = show; } /**Get/Set an actor's visibility ("overlay, fusion, vf, contour...") Overlay index is the index of the overlay by type, eg. if there are @@ -139,10 +140,11 @@ public: return mCursor; } + vtkTransform * GetSlicingTransform() { return mSlicingTransform; } + vtkTransform * GetConcatenatedTransform() { return mConcatenatedTransform; } + void SetCurrentPosition(double x, double y, double z, int t); - double* GetCurrentPosition() { - return mCurrent; - } + double* GetCurrentPosition(); void UpdateCursorPosition(); void SetCursorVisibility(bool s); @@ -153,7 +155,7 @@ public: void SetCornerAnnotationVisibility(bool s); bool GetCornerAnnotationVisibility(); - void GetExtremasAroundMousePointer(double & min, double & max, vtkImageData *image); + void GetExtremasAroundMousePointer(double & min, double & max, vtkImageData *image, vtkTransform *transform); void UpdateLandmarks(); void ForceUpdateDisplayExtent(); @@ -205,7 +207,19 @@ protected: vvLandmarks* mLandmarks; + // __________ Image coordinates accounting for spacing and origin + // Λ Λ + // | | vvImage.GetTransform() + // | | + // GetConcatenatedTransform() | _|___ VV world coordinates (mm) (displayed in VV) + // | Λ + // | | GetSlicingTransform() + // | | + // ___|__|___ VTK world coordinates (mm) (never displayed) + vtkSmartPointer mImageReslice; + vtkSmartPointer mSlicingTransform; + vtkSmartPointer mConcatenatedTransform; vtkSmartPointer mOverlayReslice; vtkSmartPointer mOverlayMapper; vtkSmartPointer mOverlayActor; @@ -234,6 +248,7 @@ protected: int mCurrentTSlice; double mCurrent[3]; + double mCurrentBeforeSlicingTransform[3]; double mCursor[4]; int mSubSampling; int mScale; @@ -244,6 +259,7 @@ protected: int * mReducedExtent; int * mInitialExtent; bool mLinkOverlayWindowLevel; + bool showFusionLegend; private: void UpdateOrientation();