IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
HomographyTransform2dEstimator.h
1 // HomographyTransform2dEstimator.h:
3 // ---------------------------------
4 //
35 
36 #ifndef __IPSDKGEOMETRY_HOMOGRAPHYTRANSFORM2DESTIMATOR_H__
37 #define __IPSDKGEOMETRY_HOMOGRAPHYTRANSFORM2DESTIMATOR_H__
38 
41 #include <IPSDKMath/Estimation/BaseEstimator.h>
42 
43 namespace ipsdk {
44 namespace geom {
45 
48 
50 {
51 // predefined public types
52 public:
55 
56  (eEP_Hxx)
57  (eEP_Hxy)
58  (eEP_Hxw)
59 
60  (eEP_Hyx)
61  (eEP_Hyy)
62  (eEP_Hyw)
63 
64  (eEP_Hwx)
65  (eEP_Hwy)
66  (eEP_Hww)
67  )
68 
69 
70  static const ipUInt32 g_parameterSize = eEstimParams::size;
71 
74 
76  (eDT_X1)
77 
79  (eDT_Y1)
80 
82  (eDT_X2)
83 
85  (eDT_Y2)
86  )
87 
89  static const ipUInt32 g_dataSize = eDataType::size;
90 
91 public:
97 
98 // methods
99 public:
103  using math::BaseEstimator::computeEstimation;
104 
108  BoolResult computeEstimation(const math::DataSet& dataSet,
109  math::Matrix3d& matH);
110 
117  BoolResult computeResiduals(const math::DataSet& dataSet,
118  const math::Matrix3d& matH,
119  math::ResidualsSet& residualsSet) const;
120 
121 protected:
124  BoolResult processEstimation(const math::DataSet& dataSet,
125  math::ParameterType& estimParams);
126 
129  BoolResult processResiduals(const math::DataSet& dataSet,
130  const math::ParameterType& estimParams,
131  math::ResidualsSet& residualsSet) const;
132 
133 // attributes
134 protected:
135 
136 };
137 
140 
141 } // end of namespace geom
142 } // end of namespace ipsdk
143 
144 #endif // __IPSDKGEOMETRY_HOMOGRAPHYTRANSFORM2DESTIMATOR_H__
Vector ParameterType
parameter type resulting from estimation
Definition: EstimationTypes.h:61
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base class for parametric estimation from data set.
Definition: BaseEstimator.h:35
eEstimParams
Definition: HomographyTransform2dEstimator.h:56
Predefined types for estimation 2d management.
std::vector< DataType > DataSet
collection of data associated to estimation
Definition: EstimationTypes.h:67
eDataType
Definition: HomographyTransform2dEstimator.h:84
Definition of import/export macro for library.
#define IPSDKGEOMETRY_API
Import/Export macro for library IPSDKGeometry.
Definition: IPSDKGeometryExports.h:25
boost::numeric::ublas::bounded_matrix< ipReal64, 3, 3 > Matrix3d
3d matrix (3x3) type associated to library
Definition: LinearAlgebraTypes.h:54
Vector ResidualsSet
residuals type resulting from estimation
Definition: EstimationTypes.h:64
Class allowing to estimate a 2d homography transformationWe compute a homography transformation such ...
Definition: HomographyTransform2dEstimator.h:49
IPSDKMATH_API void processEstimation(const EstimationConfig &config, const EstimatorPtr &pEstimator, const DataSet &inputDataSet, EstimationResults &results)
function allowing to launch a robust estimation process
#define IPSDK_ENUM(enumTypeStr, enumSeq)
macro allowing to declare an enumerate for library
Definition: EnumMacros.h:26
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53