25 #ifndef __TextureTransform__hh__
26 #define __TextureTransform__hh__
28 #include <Base/Common/BIASpragmaStart.hh>
30 #include <Base/Debug/Debug.hh>
31 #include <Base/Geometry/HomgPoint2D.hh>
32 #include <Base/Math/Matrix2x2.hh>
33 #include <Base/Math/Vector.hh>
34 #include <Geometry/HMatrix.hh>
99 virtual void ComposeWithInverseDeltaP(
const Vector<double>& deltaP) = 0;
102 virtual int TextureJacobianForward(
const HomgPoint2D& src,
106 virtual int TextureJacobianBackward(
const HomgPoint2D& sink,
111 virtual bool TextureJacobianIsConstant()
const = 0;
125 BIASERR(
"not implemented in derived class. Could also be done HERE numerically by calling GetInverseParameters"); BIASABORT;
131 BIASERR(
"not implmented."); BIASABORT;
137 virtual bool ParameterJacobianIsConstant()
const = 0;
virtual Vector< double > GetInverseParameters() const
returns parameter vector which undoes the current warp
class HomgPoint2D describes a point with 2 degrees of freedom in projective coordinates.
virtual ~TextureTransform()
Vector< double > P_
current set of parameters, see SetParameters for meaning
class for representing parameterized image warps, such as homography, displacement, ...
virtual int ParameterInversionJacobian(Matrix< double > &Jac) const
compute parameters for inverse operation and obtain the jacobian of the inverse parameters with respe...
void GetParameters(Vector< double > &p) const
get the current parameter vector