X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManager.h;h=dcac673216f1af7eef36b8394dfa32bb6dbbf8f9;hb=58cd684433d4a961aa1ac37c39f92830a9a07146;hp=b469277ff38d84f407aac0752cf30dfba1961946;hpb=0c28fb91fda0d2e5e8e3b10e14723fedec6275d3;p=clitk.git diff --git a/vv/vvSlicerManager.h b/vv/vvSlicerManager.h index b469277..dcac673 100644 --- a/vv/vvSlicerManager.h +++ b/vv/vvSlicerManager.h @@ -52,6 +52,7 @@ class vvSlicerManager : public QObject { Q_OBJECT public: + typedef enum {WORLD_SLICING, VOXELS_SLICING} SlicingPresetType; vvSlicerManager(int numberOfSlicers); ~vvSlicerManager(); @@ -63,7 +64,7 @@ class vvSlicerManager : public QObject { void SetImage(vvImage::Pointer image); bool SetImages(std::vector filenames, vvImageReader::LoadedImageType type, int n=0); - bool SetOverlay(std::string filename, int dim, std::string component); + bool SetOverlay(std::vector filenames, int dim, std::string component, vvImageReader::LoadedImageType type); bool SetFusion(std::string filename, int dim, std::string component); ///Set a VF by loading it from the disk bool SetVF(std::string filename); @@ -85,6 +86,10 @@ class vvSlicerManager : public QObject { ///Switch between nearest neighbor and linear interpolation void ToggleInterpolation(); vvSlicer* GetSlicer(int i); + int GetSelectedSlicer() { + return mSelectedSlicer; + } + void UpdateSlicer(int num, bool state); void SetSlicerWindow(int i, vtkRenderWindow* RW); void SetInteractorStyleNavigator(int i,vtkInteractorStyle* style); @@ -94,7 +99,7 @@ class vvSlicerManager : public QObject { vvImage::Pointer GetVF() { return mVF; } int GetType() { return mType; } void SetId(std::string id) { mId = id; } - std::string GetId() { return mId; } + std::string GetId() const { return mId; } int GetDimension() { if (mImage) return mImage->GetNumberOfDimensions(); else return -1; @@ -103,6 +108,7 @@ class vvSlicerManager : public QObject { void SetFilename(std::string f, int number=0); void SetSliceOrientation(int slicer, int orientation); + int GetTSlice(); void SetTSlice(int slice); void SetNextTSlice(int originating_slicer); void SetPreviousTSlice(int originating_slicer); @@ -140,18 +146,18 @@ class vvSlicerManager : public QObject { mFusionShowLegend = show; } - double GetColorWindow(); - double GetColorLevel(); + double GetColorWindow() const; + double GetColorLevel() const; double GetOverlayColorWindow() const; double GetOverlayColorLevel() const; bool GetLinkOverlayWindowLevel() const; int GetColorMap() { return mColorMap; } - int GetPreset() { + int GetPreset() const { return mPreset; } - int GetSlicingPreset() { + SlicingPresetType GetSlicingPreset() { return mSlicingPreset; } int GetOverlayColor() const { @@ -187,6 +193,10 @@ class vvSlicerManager : public QObject { mLinkedId.remove(oldId); } + std::list GetLinks() const { + return mLinkedId; + } + bool IsLinked() { return mLinkedId.size() > 0; } @@ -206,7 +216,7 @@ class vvSlicerManager : public QObject { void UpdateSlice(int slicer); void UpdateTSlice(int slicer); void UpdateSliceRange(int slicer); - void SetSlicingPreset(int preset); + void SetSlicingPreset(SlicingPresetType preset); vvLandmarks *GetLandmarks(); void AddLandmark(float x,float y,float z,float t); @@ -238,6 +248,7 @@ signals : protected: std::vector< vtkSmartPointer > mSlicers; + int mSelectedSlicer; vvImageReader::Pointer mReader; vvImageReader::Pointer mOverlayReader; vvImageReader::Pointer mFusionReader; @@ -255,7 +266,7 @@ protected: bool mFusionShowLegend; int mPreset; - int mSlicingPreset; + SlicingPresetType mSlicingPreset; vvImageReader::LoadedImageType mType; std::string mVFComponent; std::string mOverlayComponent;