QXRD  0.11.16
qxrddistortioncorrection.h
Go to the documentation of this file.
1 #ifndef QXRDDISTORTIONCORRECTION_H
2 #define QXRDDISTORTIONCORRECTION_H
3 
4 #include "qcepmacros.h"
5 #include "qcepobject.h"
6 #include "qcepproperty.h"
7 #include "qxrdexperiment-ptr.h"
8 #include "qcepimagedata-ptr.h"
9 #include "qcepimagedata.h"
10 #include "qcepsettingssaver-ptr.h"
11 
13 {
14  Q_OBJECT
15 public:
17 
18 public:
19  Q_PROPERTY(QString distortionImagePath READ get_DistortionImagePath WRITE set_DistortionImagePath)
20  QCEP_STRING_PROPERTY(DistortionImagePath)
21 
22  Q_PROPERTY(QPointF p0 READ get_P0 WRITE set_P0)
24 
25  Q_PROPERTY(QPointF p1 READ get_P1 WRITE set_P1)
27 
28  Q_PROPERTY(QPointF p2 READ get_P2 WRITE set_P2)
30 
31  Q_PROPERTY(int n1 READ get_N1 WRITE set_N1)
33 
34  Q_PROPERTY(int n2 READ get_N2 WRITE set_N2)
36 
37  Q_PROPERTY(QPointF f0 READ get_F0 WRITE set_F0)
39 
40  Q_PROPERTY(QPointF f1 READ get_F1 WRITE set_F1)
42 
43  Q_PROPERTY(QPointF f2 READ get_F2 WRITE set_F2)
45 
46  Q_PROPERTY(QcepIntVector iVals READ get_IVals WRITE set_IVals)
48 
49  Q_PROPERTY(QcepIntVector jVals READ get_JVals WRITE set_JVals)
51 
52  Q_PROPERTY(QcepDoubleVector xVals READ get_XVals WRITE set_XVals)
54 
55  Q_PROPERTY(QcepDoubleVector yVals READ get_YVals WRITE set_YVals)
57 
58  Q_PROPERTY(QcepDoubleVector fxVals READ get_FXVals WRITE set_FXVals)
60 
61  Q_PROPERTY(QcepDoubleVector fyVals READ get_FYVals WRITE set_FYVals)
63 
64  Q_PROPERTY(QcepDoubleVector dxVals READ get_DXVals WRITE set_DXVals)
66 
67  Q_PROPERTY(QcepDoubleVector dyVals READ get_DYVals WRITE set_DYVals)
69 
70  Q_PROPERTY(double wMin READ get_WMin WRITE set_WMin)
72 
73  Q_PROPERTY(double wMax READ get_WMax WRITE set_WMax)
75 
76  Q_PROPERTY(double wNom READ get_WNom WRITE set_WNom)
78 
79  Q_PROPERTY(double ratMin READ get_RatMin WRITE set_RatMin)
80  QCEP_DOUBLE_PROPERTY(RatMin)
81 
82  Q_PROPERTY(double hgtMin READ get_HgtMin WRITE set_HgtMin)
83  QCEP_DOUBLE_PROPERTY(HgtMin)
84 
85  Q_PROPERTY(QPointF distMax READ get_DistMax WRITE set_DistMax)
87 
88  signals:
89 
90 public slots:
91  QPointF transform(QPointF pt);
92  QPointF inverse(QPointF pt);
93 
94  void clearGridPoints();
95  void appendGridPoint(int i, int j, double x, double y);
96  void fitCalibrationGrid();
97  void evalCalibrationGrid();
98  void dumpCalibrationGrid(QString path);
99 
100 public:
101  void evaluateFitGrid(double parms[], double hx[], int m, int n);
102 
103 private:
104  mutable QMutex m_Mutex;
107 };
108 
109 #endif // QXRDDISTORTIONCORRECTION_H
QVector< int > QcepIntVector
Definition: qcepmacros.h:23
#define QCEP_DOUBLE_PROPERTY(propname)
Definition: qcepproperty.h:629
#define QCEP_DOUBLE_VECTOR_PROPERTY(propname)
Definition: qcepproperty.h:839
QWeakPointer< QxrdExperiment > QxrdExperimentWPtr
void evaluateFitGrid(double parms[], double hx[], int m, int n)
QVector< double > QcepDoubleVector
Definition: qcepmacros.h:19
#define QCEP_INTEGER_PROPERTY(propname)
Definition: qcepproperty.h:698
#define QCEP_STRING_PROPERTY(propname)
Definition: qcepproperty.h:664
void appendGridPoint(int i, int j, double x, double y)
#define QCEP_INTEGER_VECTOR_PROPERTY(propname)
Definition: qcepproperty.h:907
QxrdDistortionCorrection(QcepSettingsSaverWPtr saver, QxrdExperimentWPtr expt)
#define QCEP_DOUBLE_POINT_PROPERTY(propname)
QWeakPointer< QcepSettingsSaver > QcepSettingsSaverWPtr
QSharedPointer< QcepDoubleImageData > QcepDoubleImageDataPtr