]> Creatis software - clitk.git/blob - vv/vvOverlayPanel.h
69abbc2a2c067bfcb95f9bb927108e541782b385
[clitk.git] / vv / vvOverlayPanel.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to: 
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://www.centreleonberard.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ===========================================================================**/
18 #ifndef _vvOverlayPanel_H
19 #define _vvOverlayPanel_H
20 #include <iostream>
21 #include <vector>
22
23 #include "ui_vvOverlayPanel.h"
24
25 //====================================================================
26 class vvOverlayPanel : public QWidget, private Ui::vvOverlayPanel
27 {
28
29     Q_OBJECT
30
31 public:
32     // constructor - destructor
33     vvOverlayPanel(QWidget * parent=0);
34     ~vvOverlayPanel() {}
35
36     void getCurrentImageName(QString name);
37
38     void getVFProperty(int subsampling, int scale, int log);
39     void getVFName(QString name);
40
41     void getOverlayProperty(int color, int linked, double window, double level);
42     void getOverlayName(QString name);
43
44     void getFusionProperty(int opacity, int thresOpacity, int colormap, double window, double level);
45     void getFusionName(QString name);
46
47     void getFusionSequenceProperty(int sequenceFrameIndex, bool spatialSync, unsigned int sequenceLength);
48
49         void getCurrentVectorInfo(int visibility, double x, double y, double z, double value);
50     void getCurrentOverlayInfo(int visibility,double valueOver, double valueRef);
51     void getCurrentFusionInfo(int visibility,double value);
52     //void getCurrentFusionSequenceInfo(int visibility,double value);
53     
54     bool getShowLegend();
55
56 public slots:
57     void setVFProperty();
58     void setOverlayProperty();
59     void setFusionProperty();
60     void setFusionSpinProperty();
61     void VFColorChangeRequest();
62     void setFusionSequenceProperty();
63
64 signals:
65     void VFPropertyUpdated(int subsampling, int scale, int log, int width, double r, double g, double b);
66     void OverlayPropertyUpdated(int color, int linked, double window, double level);
67     void FusionPropertyUpdated(int opacity, int thresOpacity, int colormap, double window, double level, bool showLegend);
68     void FusionSequencePropertyUpdated(int sequenceFrameIndex, bool spatialSync, unsigned int sequenceLength);
69
70     
71 private:
72     bool disableFusionSignals;
73         bool disableFusionSequenceSignals;
74     
75 }; // end class vvOverlayPanel
76 //====================================================================
77
78 #endif /* end #define _vvOverlayPanel_H */
79