X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManager.h;h=5cca97c439d2ee45238c0bf72c6fb57cad549537;hb=e34a7746ec0b9f82124e344edc79e348bb0278d2;hp=74560789979b45c13e133359562ba6dcf36ab0f4;hpb=1df2c8867c511818511bbd2b0be560325a4944c5;p=clitk.git diff --git a/vv/vvSlicerManager.h b/vv/vvSlicerManager.h index 7456078..5cca97c 100644 --- a/vv/vvSlicerManager.h +++ b/vv/vvSlicerManager.h @@ -1,3 +1,4 @@ + /*========================================================================= Program: vv http://www.creatis.insa-lyon.fr/rio/vv @@ -19,6 +20,7 @@ #ifndef VVSLICERMANAGER_H #define VVSLICERMANAGER_H +// std #include #include #include @@ -56,9 +58,8 @@ class vvSlicerManager : public QObject { return mLastError; } - bool SetImage(std::string filename,LoadedImageType type, int n=0); + bool SetImage(std::string filename,LoadedImageType type, int n=0, unsigned int slice=0); void SetImage(vvImage::Pointer image); - void SetExtractedImage(std::string filename, vvImage::Pointer image, int slice); bool SetImages(std::vector filenames, LoadedImageType type, int n=0); bool SetOverlay(std::string filename, int dim, std::string component); @@ -86,7 +87,7 @@ class vvSlicerManager : public QObject { void SetSlicerWindow(int i, vtkRenderWindow* RW); void SetInteractorStyleNavigator(int i,vtkInteractorStyle* style); - int NumberOfSlicers() { return mSlicers.size(); } + int GetNumberOfSlicers() { return mSlicers.size(); } vvImage::Pointer GetImage() { return mImage; } vvImage::Pointer GetVF() { return mVF; } int GetType() { return mType; } @@ -97,7 +98,7 @@ class vvSlicerManager : public QObject { else return -1; } - void SetFilename(std::string f); + void SetFilename(std::string f, int number=0); void SetTSlice(int slice); void SetNextTSlice(int originating_slicer); @@ -113,7 +114,7 @@ class vvSlicerManager : public QObject { void SetColorMap(int colormap); void SetPreset(int preset); void SetOverlayColor(int color) { - mOverlayColor = color; + mOverlayColor = (color/60)*60; //SR: new vvBlendImageActor needs 0 or 255 per component } void SetFusionOpacity(int opacity) { mFusionOpacity = opacity; @@ -121,10 +122,10 @@ class vvSlicerManager : public QObject { void SetFusionColorMap(int colorMap) { mFusionColorMap = colorMap; } - void SetFusionWindow(int window) { + void SetFusionWindow(double window) { mFusionWindow = window; } - void SetFusionLevel(int level) { + void SetFusionLevel(double level) { mFusionLevel = level; } @@ -156,13 +157,14 @@ class vvSlicerManager : public QObject { void SetCursorVisibility(int s); void UpdateViews(int current, int slicer); void UpdateLinked(int slicer); + void UpdateLinkedNavigation(vvSlicer *slicer, bool bPropagate=false); void Render(); void AddLink(std::string newId) { mLinkedId.push_back(newId); } void RemoveLink(std::string oldId) { - mLinkedId.remove(oldId); + mLinkedId.remove(oldId); } ///Remove the actor defined by its type and index (example: 3rd contour) @@ -182,6 +184,12 @@ class vvSlicerManager : public QObject { vvLandmarks *GetLandmarks(); void AddLandmark(float x,float y,float z,float t); + + void NextImage(int slicer); + void PrevImage(int slicer); + void LeftButtonReleaseEvent(int slicer); + void VerticalSliderHasChanged(int slicer, int slice); + double GetScalarComponentAsDouble(vtkImageData *image, double X, double Y, double Z, int component=0); signals : void currentImageChanged(std::string id); @@ -195,7 +203,11 @@ signals : void UpdateSliceRange(int slice, int min, int max, int tmin, int tmax); void WindowLevelChanged(double window, double level, int preset, int colormap); void UpdateLinkManager(std::string, int slicer, double x, double y, double z, int temps); + void UpdateLinkedNavigation(std::string, vvSlicerManager*); void LandmarkAdded(); + void ChangeImageWithIndexOffset(vvSlicerManager *sm, int slicer, int offset); + void LeftButtonReleaseSignal(int slicer); + void AVerticalSliderHasChanged(int slicer, int slice); protected: std::vector mSlicers; @@ -230,6 +242,9 @@ protected: std::list mLinkedId; vvLandmarks* mLandmarks; + + std::vector mPreviousSlice; + std::vector mPreviousTSlice; }; #endif