X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicer.h;h=0246723ad1b69837694dccc6fd1b32b39cc13730;hb=431fea9a7c825943b07fc4b4f3423355a5fee501;hp=a2f77e955c3850f4c82bbdb8e12e104c528447dc;hpb=c135f9b390e2750d8248db5903753b94ca549623;p=clitk.git diff --git a/vv/vvSlicer.h b/vv/vvSlicer.h index a2f77e9..0246723 100644 --- a/vv/vvSlicer.h +++ b/vv/vvSlicer.h @@ -3,7 +3,7 @@ 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 @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html - ======================================================================-====*/ + ===========================================================================**/ #ifndef __vvSlicer_h #define __vvSlicer_h #include @@ -27,6 +27,7 @@ #include #include +#include class vtkActor; class vtkActor2D; @@ -93,6 +94,7 @@ public: void SetLandmarks(vvLandmarks* landmarks); void SetTSlice(int t); void SetSliceOrientation(int orientation); + void AdjustResliceToSliceOrientation(vtkImageReslice *reslice); int GetTSlice(); ///Reimplemented from vtkImageViewer2 to add polydata support void SetSlice(int s); @@ -105,6 +107,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); void Render(); ///Sets the camera to fit the image in the window void ResetCamera(); @@ -141,9 +144,13 @@ public: void UpdateCursorPosition(); void SetCursorVisibility(bool s); + bool GetCursorVisibility(); void SetCursorColor(int r,int g, int b); + void SetCornerAnnotationVisibility(bool s); + bool GetCornerAnnotationVisibility(); + void GetExtremasAroundMousePointer(double & min, double & max); void UpdateLandmarks(); @@ -167,6 +174,11 @@ public: int GetOrientation(); int * GetExtent(); + double* GetVFColor() { + return mVFColor; + } + void SetVFColor(double r, double g, double b); + protected: vvSlicer(); ~vvSlicer(); @@ -179,8 +191,11 @@ protected: vvLandmarks* mLandmarks; + vtkSmartPointer mImageReslice; + vtkSmartPointer mOverlayReslice; vtkSmartPointer mOverlayMapper; vtkSmartPointer mOverlayActor; + vtkSmartPointer mFusionReslice; vtkSmartPointer mFusionMapper; vtkSmartPointer mFusionActor; vtkSmartPointer ca; @@ -192,6 +207,7 @@ protected: vtkSmartPointer mVOIFilter; vtkSmartPointer mGlyphFilter; vtkSmartPointer mVFMapper; + vtkSmartPointer mVFColorLUT; vtkSmartPointer mVFActor; vtkSmartPointer mLandGlyph; vtkSmartPointer mCross; @@ -209,6 +225,7 @@ protected: int mScale; int mVFLog; int mVFWidth; + double mVFColor[3]; bool mUseReducedExtent; int * mReducedExtent; int * mInitialExtent; @@ -216,9 +233,8 @@ protected: private: void UpdateOrientation(); void UpdateDisplayExtent(); - void ComputeVFDisplayedExtent(int x1,int x2,int y1,int y2,int z1,int z2,int extent[6]); - void ComputeOverlayDisplayedExtent(int x1,int x2,int y1,int y2,int z1,int z2,int overExtent[6]); - void ComputeFusionDisplayedExtent(int x1,int x2,int y1,int y2,int z1,int z2,int overExtent[6]); + void ConvertImageToImageDisplayExtent(vtkImageData *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();