X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManager.h;h=bb30f54d5aa255611b6fb9901de7463a078ea6b3;hb=573d80d0f7a17607d2ee883c21c940c0ba020282;hp=5cca97c439d2ee45238c0bf72c6fb57cad549537;hpb=a30d8dd30db9b6f4b67101e712f28c0b2a0227bf;p=clitk.git diff --git a/vv/vvSlicerManager.h b/vv/vvSlicerManager.h index 5cca97c..bb30f54 100644 --- a/vv/vvSlicerManager.h +++ b/vv/vvSlicerManager.h @@ -4,7 +4,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 @@ -15,7 +15,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html - ======================================================================-====*/ + ===========================================================================**/ #ifndef VVSLICERMANAGER_H #define VVSLICERMANAGER_H @@ -36,10 +36,11 @@ class vtkRenderWindow; class vtkPolyData; // VV -#include "vvConstants.h" #include "clitkCommon.h" #include "vvImage.h" #include "vvMesh.h" +#include "vvImageReader.h" + class vvSlicer; class vvInteractorStyleNavigator; class vvImageReader; @@ -58,9 +59,9 @@ class vvSlicerManager : public QObject { return mLastError; } - bool SetImage(std::string filename,LoadedImageType type, int n=0, unsigned int slice=0); + bool SetImage(std::string filename, vvImageReader::LoadedImageType type, int n=0, unsigned int slice=0); void SetImage(vvImage::Pointer image); - bool SetImages(std::vector filenames, LoadedImageType type, int n=0); + bool SetImages(std::vector filenames, vvImageReader::LoadedImageType type, int n=0); bool SetOverlay(std::string filename, int dim, std::string component); bool SetFusion(std::string filename, int dim, std::string component); @@ -154,7 +155,7 @@ class vvSlicerManager : public QObject { return mFusionLevel; } - void SetCursorVisibility(int s); + void SetCursorAndCornerAnnotationVisibility(int s); void UpdateViews(int current, int slicer); void UpdateLinked(int slicer); void UpdateLinkedNavigation(vvSlicer *slicer, bool bPropagate=false); @@ -166,6 +167,10 @@ class vvSlicerManager : public QObject { void RemoveLink(std::string oldId) { mLinkedId.remove(oldId); } + + bool IsLinked() { + return mLinkedId.size() > 0; + } ///Remove the actor defined by its type and index (example: 3rd contour) void RemoveActor(const std::string& actor_type, int overlay_index); @@ -176,6 +181,7 @@ class vvSlicerManager : public QObject { void ReloadVF(); void Activated(); + void Picked(); void UpdateInfoOnCursorPosition(int slicer); void UpdateWindowLevel(); void UpdateSlice(int slicer); @@ -193,6 +199,7 @@ class vvSlicerManager : public QObject { signals : void currentImageChanged(std::string id); + void currentPickedImageChanged(std::string id); void UpdatePosition(int visibility,double x, double y, double z, double X, double Y, double Z, double value); void UpdateVector(int display, double x, double y, double z, double value); void UpdateOverlay(int display, double valueOver, double valueRef); @@ -203,20 +210,20 @@ 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 UpdateLinkedNavigation(std::string, vvSlicerManager*, vvSlicer*); void LandmarkAdded(); void ChangeImageWithIndexOffset(vvSlicerManager *sm, int slicer, int offset); void LeftButtonReleaseSignal(int slicer); void AVerticalSliderHasChanged(int slicer, int slice); protected: - std::vector mSlicers; - vvImageReader* mReader; - vvImageReader* mOverlayReader; - vvImageReader* mFusionReader; + std::vector< vtkSmartPointer > mSlicers; + vvImageReader::Pointer mReader; + vvImageReader::Pointer mOverlayReader; + vvImageReader::Pointer mFusionReader; + vvImageReader::Pointer mVectorReader; vvImage::Pointer mImage; vvImage::Pointer mVF; - vvImageReader* mVectorReader; int mColorMap; int mOverlayColor; @@ -226,7 +233,7 @@ protected: double mFusionLevel; int mPreset; - LoadedImageType mType; + vvImageReader::LoadedImageType mType; std::string mVFComponent; std::string mOverlayComponent; std::string mFusionComponent;