QXRD  0.11.16
qxrdroicoordinates.h
Go to the documentation of this file.
1 #ifndef QXRDROICOORDINATES_H
2 #define QXRDROICOORDINATES_H
3 
4 #include "qcepmacros.h"
5 #include "qcepobject.h"
7 #include "qxrdexperiment-ptr.h"
8 #include "qcepproperty.h"
10 #include "qcepimagedata-ptr.h"
11 #include "qcepmaskdata-ptr.h"
12 
13 #include <QScriptEngine>
14 
16 {
17  Q_OBJECT
18 
19 public:
22  int roiType,
23  double left=0,
24  double top=0,
25  double right=0,
26  double bottom=0);
27  virtual ~QxrdROICoordinates();
28 
29  static int roiTypeCount();
30  static QString roiTypeName(int roiType);
31 
32  static int outputCount();
33  static QString outputName(int opt);
34 
35  static QScriptValue toScriptValue(QScriptEngine *engine, const QxrdROICoordinatesPtr &coords);
36  static void fromScriptValue(const QScriptValue &obj, QxrdROICoordinatesPtr &coords);
37 
38  enum {
46  };
47 
48  enum {
58  };
59 
60  enum {
64  };
65 
66  enum {
70  };
71 
72 signals:
73  void roiChanged();
74 
75 public slots:
79 
80  QVector<double> values() const;
81 
82  void selectNamedROIType(QString nm);
83 
84  double left() const;
85  double top() const;
86  double right() const;
87  double bottom() const;
88  double width() const;
89  double height() const;
90  double width2() const;
91  double height2() const;
92  double left2() const;
93  double right2() const;
94  double top2() const;
95  double bottom2() const;
96 
97  QPointF center() const;
98  QSizeF size() const;
99  QSizeF size2() const;
100 
101  void setLeft(double l);
102  void setTop(double t);
103  void setRight(double r);
104  void setBottom(double b);
105 
106  void setCenter(QPointF c);
107  void setCenter(double cx, double cy);
108  void setSize(QSizeF s);
109  void setSize(double w, double h);
110  void setSize2(QSizeF s);
111  void setSize2(double w, double h);
112 
113  void setCenterX(double cx);
114  void setCenterY(double cy);
115  void setWidth(double w);
116  void setHeight(double h);
117  void setWidth2(double w);
118  void setHeight2(double h);
119 
120  QVector<QPointF> markerCoords();
121 
122 private:
124 
125 // void recalculateRectangle(QcepImageDataBasePtr img, QcepMaskDataPtr mask);
126 // void recalculateEllipse(QcepImageDataBasePtr img, QcepMaskDataPtr mask);
127 // void recalculateRectangleInRectangle(QcepImageDataBasePtr img, QcepMaskDataPtr mask);
128 // void recalculateEllipseInRectangle(QcepImageDataBasePtr img, QcepMaskDataPtr mask);
129 // void recalculateRectangleInEllipse(QcepImageDataBasePtr img, QcepMaskDataPtr mask);
130 // void recalculateEllipseInEllipse(QcepImageDataBasePtr img, QcepMaskDataPtr mask);
131 
132 public:
133  Q_PROPERTY(int roiType READ get_RoiType WRITE set_RoiType)
134  QCEP_INTEGER_PROPERTY(RoiType)
135 
136  Q_PROPERTY(QString roiTypeName READ get_RoiTypeName WRITE set_RoiTypeName STORED false)
137  QCEP_STRING_PROPERTY(RoiTypeName)
138 
139  Q_PROPERTY(QRectF coords READ get_Coords WRITE set_Coords)
141 
142  Q_PROPERTY(double width2 READ get_Width2 WRITE set_Width2)
143  QCEP_DOUBLE_PROPERTY(Width2)
144 
145  Q_PROPERTY(double height2 READ get_Height2 WRITE set_Height2)
146  QCEP_DOUBLE_PROPERTY(Height2)
147 
148 // Q_PROPERTY(double value READ get_Value WRITE set_Value STORED false)
149 // QCEP_DOUBLE_PROPERTY(Value)
150 
151  Q_PROPERTY(double sum READ get_Sum WRITE set_Sum STORED false)
153 
154  Q_PROPERTY(double average READ get_Average WRITE set_Average STORED false)
155  QCEP_DOUBLE_PROPERTY(Average)
156 
157  Q_PROPERTY(double minimum READ get_Minimum WRITE set_Minimum STORED false)
158  QCEP_DOUBLE_PROPERTY(Minimum)
159 
160  Q_PROPERTY(double maximum READ get_Maximum WRITE set_Maximum STORED false)
161  QCEP_DOUBLE_PROPERTY(Maximum)
162 
163  Q_PROPERTY(double nPixels READ get_NPixels WRITE set_NPixels STORED false)
164  QCEP_DOUBLE_PROPERTY(NPixels)
165 
166  Q_PROPERTY(double background READ get_Background WRITE set_Background STORED false)
167  QCEP_DOUBLE_PROPERTY(Background)
168 
169  Q_PROPERTY(double xGradient READ get_XGradient WRITE set_XGradient STORED false)
170  QCEP_DOUBLE_PROPERTY(XGradient)
171 
172  Q_PROPERTY(double yGradient READ get_YGradient WRITE set_YGradient STORED false)
173  QCEP_DOUBLE_PROPERTY(YGradient)
174 };
175 
176 #endif // QXRDROICOORDINATES_H
static QString outputName(int opt)
QPointF center() const
QSharedPointer< QxrdROICoordinates > QxrdROICoordinatesPtr
void recalculate(QcepImageDataBasePtr img, QcepMaskDataPtr mask)
#define QCEP_DOUBLE_PROPERTY(propname)
Definition: qcepproperty.h:629
double width2() const
QWeakPointer< QxrdExperiment > QxrdExperimentWPtr
void setCenterX(double cx)
void setCenterY(double cy)
void visualizeBackground(QcepImageDataBasePtr img, QcepMaskDataPtr mask)
#define QCEP_INTEGER_PROPERTY(propname)
Definition: qcepproperty.h:698
#define QCEP_DOUBLE_RECT_PROPERTY(propname)
QVector< QPointF > markerCoords()
#define QCEP_STRING_PROPERTY(propname)
Definition: qcepproperty.h:664
void setCenter(QPointF c)
void recalculatePrivate(QcepImageDataBasePtr img, QcepMaskDataPtr mask, int vis)
QVector< double > values() const
void visualizePeak(QcepImageDataBasePtr img, QcepMaskDataPtr mask)
void selectNamedROIType(QString nm)
QxrdROICoordinates(QcepSettingsSaverWPtr saver, QxrdExperimentWPtr exp, int roiType, double left=0, double top=0, double right=0, double bottom=0)
QSharedPointer< QcepImageDataBase > QcepImageDataBasePtr
QSharedPointer< QcepMaskData > QcepMaskDataPtr
double height2() const
static QScriptValue toScriptValue(QScriptEngine *engine, const QxrdROICoordinatesPtr &coords)
QWeakPointer< QcepSettingsSaver > QcepSettingsSaverWPtr
static void fromScriptValue(const QScriptValue &obj, QxrdROICoordinatesPtr &coords)