X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicer.h;h=71f7ece7e4ecbe22e75fab3406a143d11d8ad5b6;hb=ba72deb1cf11f32261e565d3103afd84571a0cf2;hp=b9cc334047acbd6d74e82da91d9714ef7cbbb6cc;hpb=bcd98a7cb45fd4c3b5a41bc8cefa89f5790aca27;p=clitk.git diff --git a/vv/vvSlicer.h b/vv/vvSlicer.h index b9cc334..71f7ece 100644 --- a/vv/vvSlicer.h +++ b/vv/vvSlicer.h @@ -99,6 +99,8 @@ public: void SetSliceOrientation(int orientation); void AdjustResliceToSliceOrientation(vtkImageReslice *reslice); int GetTSlice(); + int GetFusionTSlice(); + int GetOverlayTSlice(); ///Reimplemented from vtkImageViewer2 to add polydata support void SetSlice(int s); int GetTMax() { @@ -140,10 +142,13 @@ public: return mCursor; } + vtkTransform * GetSlicingTransform() { return mSlicingTransform; } + vtkTransform * GetConcatenatedTransform() { return mConcatenatedTransform; } + vtkTransform * GetConcatenatedFusionTransform() { return mConcatenatedFusionTransform; } + vtkTransform * GetConcatenatedOverlayTransform() { return mConcatenatedOverlayTransform; } + void SetCurrentPosition(double x, double y, double z, int t); - double* GetCurrentPosition() { - return mCurrent; - } + double* GetCurrentPosition(); void UpdateCursorPosition(); void SetCursorVisibility(bool s); @@ -154,7 +159,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(); @@ -206,11 +211,25 @@ protected: vvLandmarks* mLandmarks; + // __________ Image coordinates accounting for spacing and origin + // Λ Λ + // | | vvImage.GetTransform() + // | | + // GetConcatenatedTransform() | _|___ VV world coordinates (mm) (displayed in VV) mCurrentBeforeSlicingTransform + // | Λ + // | | GetSlicingTransform() + // | | + // ___|__|___ VTK world coordinates (mm) (never displayed) mCurrent + + vtkSmartPointer mSlicingTransform; vtkSmartPointer mImageReslice; + vtkSmartPointer mConcatenatedTransform; vtkSmartPointer mOverlayReslice; + vtkSmartPointer mConcatenatedOverlayTransform; vtkSmartPointer mOverlayMapper; vtkSmartPointer mOverlayActor; vtkSmartPointer mFusionReslice; + vtkSmartPointer mConcatenatedFusionTransform; vtkSmartPointer mFusionMapper; vtkSmartPointer mFusionActor; vtkSmartPointer ca; @@ -234,7 +253,10 @@ protected: std::vector mSurfaceCutActors; int mCurrentTSlice; + int mCurrentFusionTSlice; + int mCurrentOverlayTSlice; double mCurrent[3]; + double mCurrentBeforeSlicingTransform[3]; double mCursor[4]; int mSubSampling; int mScale;