X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManager.h;h=940b107e9df32abfe299bba6e8c37bbc11ecb894;hb=f1cebc71809c5218578a58486f829980eeb29ab3;hp=5e0ef60c24194669ebf78e5d30a4eb0aa2aca145;hpb=651f624f17e3f6b09623e6236404a88a748b9bdf;p=clitk.git diff --git a/vv/vvSlicerManager.h b/vv/vvSlicerManager.h index 5e0ef60..940b107 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); @@ -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); @@ -111,7 +117,10 @@ class vvSlicerManager : public QObject { void GenerateDefaultLookupTable(); void SetColorWindow(double s); void SetColorLevel(double s); - void SetLocalColorWindowing(const int slicer); + void SetOverlayColorWindow(double s); + void SetOverlayColorLevel(double s); + void SetLinkOverlayWindowLevel(bool b); + void SetLocalColorWindowing(const int slicer, const bool bCtrlKey); void SetOpacity(int i, double factor); void SetColorMap(int colormap); void SetPreset(int preset); @@ -133,32 +142,40 @@ class vvSlicerManager : public QObject { void SetFusionLevel(double level) { mFusionLevel = level; } + void SetFusionShowLegend(int show) { + 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 GetOverlayColor() { + SlicingPresetType GetSlicingPreset() { + return mSlicingPreset; + } + int GetOverlayColor() const { return mOverlayColor; } - - int GetFusionOpacity() { + int GetFusionOpacity() const { return mFusionOpacity; } - int GetFusionThresholdOpacity() { + int GetFusionThresholdOpacity() const { return mFusionThresOpacity; } - int GetFusionColorMap() { + int GetFusionColorMap() const { return mFusionColorMap; } - double GetFusionWindow() { + double GetFusionWindow() const { return mFusionWindow; } - double GetFusionLevel() { + double GetFusionLevel() const { return mFusionLevel; } @@ -191,10 +208,13 @@ class vvSlicerManager : public QObject { void Activated(); void Picked(); void UpdateInfoOnCursorPosition(int slicer); + void EmitMousePositionUpdated(int slicer); + void EmitKeyPressed(std::string keyPress); void UpdateWindowLevel(); void UpdateSlice(int slicer); void UpdateTSlice(int slicer); void UpdateSliceRange(int slicer); + void SetSlicingPreset(SlicingPresetType preset); vvLandmarks *GetLandmarks(); void AddLandmark(float x,float y,float z,float t); @@ -212,11 +232,13 @@ signals : void UpdateVector(int display, double x, double y, double z, double value); void UpdateOverlay(int display, double valueOver, double valueRef); void UpdateFusion(int display, double valueFus); + void MousePositionUpdatedSignal(int slicer); + void KeyPressedSignal(std::string KeyPressed); void UpdateOrientation(int slicer, int orientation); void UpdateSlice(int slicer, int slice); void UpdateTSlice(int slicer, int slice); void UpdateSliceRange(int slice, int min, int max, int tmin, int tmax); - void WindowLevelChanged(double window, double level, int preset, int colormap); + void WindowLevelChanged(); void UpdateLinkManager(std::string, int slicer, double x, double y, double z, int temps); void UpdateLinkedNavigation(std::string, vvSlicerManager*, vvSlicer*); void LandmarkAdded(); @@ -226,6 +248,7 @@ signals : protected: std::vector< vtkSmartPointer > mSlicers; + int mSelectedSlicer; vvImageReader::Pointer mReader; vvImageReader::Pointer mOverlayReader; vvImageReader::Pointer mFusionReader; @@ -240,8 +263,10 @@ protected: int mFusionColorMap; double mFusionWindow; double mFusionLevel; + bool mFusionShowLegend; int mPreset; + SlicingPresetType mSlicingPreset; vvImageReader::LoadedImageType mType; std::string mVFComponent; std::string mOverlayComponent;