Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
BIAS::TextureTransformHomography Class Reference

analytic properties of homography transformation of an image More...

#include <Image/TextureTransformHomography.hh>

+ Inheritance diagram for BIAS::TextureTransformHomography:
+ Collaboration diagram for BIAS::TextureTransformHomography:

Public Member Functions

virtual
TextureTransformHomography
Clone () const
 virtual covariant copy constructor, caller must eventually destroy the created object More...
 
void ComposeWithDeltaP (const Vector< double > &deltaP)
 
void ComposeWithInverseDeltaP (const Vector< double > &deltaP)
 concatenate *this and an inverse transform with param deltaP and save new parameter vector to *this. More...
 
BIAS::HMatrix ConstructHFromParameters (const Vector< double > &p) const
 given parameters, compute H More...
 
Vector< double > ExtractParameters (const BIAS::HMatrix &H) const
 given H, compute a parameter vector More...
 
virtual Vector< double > GetInverseParameters () const
 returns parameter vector which undoes the current warp More...
 
void GetParameters (Vector< double > &p) const
 get the current parameter vector More...
 
int MapBackward (const HomgPoint2D &sink, HomgPoint2D &src) const
 map a point in image "source" to a point in image "sink" More...
 
int MapForward (const HomgPoint2D &src, HomgPoint2D &sink) const
 map a point in image "source" to a point in image "sink" More...
 
int ParameterInversionJacobian (Matrix< double > &Jac) const
 compute parameters for inverse operation and obtain the jacobian of the inverse parameters with respect to the original parameters for error propagation More...
 
int ParameterJacobianBackward (Matrix< double > &Jac, const HomgPoint2D &src)
 transformed position change when parameters change More...
 
int ParameterJacobianForward (Matrix< double > &Jac, const HomgPoint2D &src)
 transformed position change when parameters change More...
 
bool ParameterJacobianIsConstant () const
 return true, if the parameter jacobian does not depend on the image position More...
 
void SetParameters (const Vector< double > &p)
 h11-1, h12, h13, h21, h22-1, h23, h31, h32 (h33==1 assumed) More...
 
int TextureJacobianBackward (const HomgPoint2D &sink, Matrix2x2< double > &Jac) const
 shape change of the local region when mapping backward More...
 
int TextureJacobianForward (const HomgPoint2D &src, Matrix2x2< double > &Jac) const
 shape change of the local region when mapping forward More...
 
virtual bool TextureJacobianIsConstant () const
 return true if the texture jacobian does not depend on the image position More...
 
 TextureTransformHomography ()
 
virtual ~TextureTransformHomography ()
 

Protected Attributes

HMatrix H_
 
HMatrix Hinv_
 
Vector< double > P_
 current set of parameters, see SetParameters for meaning More...
 

Detailed Description

analytic properties of homography transformation of an image

See BIAS::TextureTransform for explanation of methods.

Author
koeser 01/2008
Examples:
ExampleAlignment.cpp.

Definition at line 42 of file TextureTransformHomography.hh.

Constructor & Destructor Documentation

BIAS::TextureTransformHomography::TextureTransformHomography ( )
inline

Definition at line 44 of file TextureTransformHomography.hh.

virtual BIAS::TextureTransformHomography::~TextureTransformHomography ( )
inlinevirtual

Definition at line 49 of file TextureTransformHomography.hh.

Member Function Documentation

virtual TextureTransformHomography* BIAS::TextureTransformHomography::Clone ( ) const
inlinevirtual

virtual covariant copy constructor, caller must eventually destroy the created object

Implements BIAS::TextureTransform.

Definition at line 82 of file TextureTransformHomography.hh.

void BIAS::TextureTransformHomography::ComposeWithDeltaP ( const Vector< double > &  deltaP)
void BIAS::TextureTransformHomography::ComposeWithInverseDeltaP ( const Vector< double > &  deltaP)
virtual

concatenate *this and an inverse transform with param deltaP and save new parameter vector to *this.

Apart from very simple transformations like displacement THIS IS NOT A SIMPLE ADDITION but rather a multiplication-like operation!

This function is particularly important for inverse compositional image alignment (KLT)

Implements BIAS::TextureTransform.

Definition at line 156 of file TextureTransformHomography.cpp.

References BIAS::Matrix3x3< T >::GetInverse().

BIAS::HMatrix BIAS::TextureTransformHomography::ConstructHFromParameters ( const Vector< double > &  p) const

given parameters, compute H

Definition at line 311 of file TextureTransformHomography.cpp.

BIAS::Vector< double > BIAS::TextureTransformHomography::ExtractParameters ( const BIAS::HMatrix H) const

given H, compute a parameter vector

Definition at line 289 of file TextureTransformHomography.cpp.

virtual Vector<double> BIAS::TextureTransform::GetInverseParameters ( ) const
inlinevirtualinherited

returns parameter vector which undoes the current warp

Reimplemented in BIAS::TextureTransformAffine.

Examples:
ExampleAlignment.cpp.

Definition at line 130 of file TextureTransform.hh.

Referenced by BIAS::ImageAlignment::Align().

void BIAS::TextureTransform::GetParameters ( Vector< double > &  p) const
inlineinherited

get the current parameter vector

Definition at line 83 of file TextureTransform.hh.

Referenced by BIAS::ImageAlignment::Align().

int BIAS::TextureTransformHomography::MapBackward ( const HomgPoint2D sink,
HomgPoint2D source 
) const
virtual

map a point in image "source" to a point in image "sink"

Implements BIAS::TextureTransform.

Definition at line 38 of file TextureTransformHomography.cpp.

References BIAS::HomgPoint2D::Homogenize().

int BIAS::TextureTransformHomography::MapForward ( const HomgPoint2D src,
HomgPoint2D sink 
) const
virtual

map a point in image "source" to a point in image "sink"

Implements BIAS::TextureTransform.

Definition at line 30 of file TextureTransformHomography.cpp.

References H_, and BIAS::HomgPoint2D::Homogenize().

int BIAS::TextureTransformHomography::ParameterInversionJacobian ( Matrix< double > &  Jac) const
virtual

compute parameters for inverse operation and obtain the jacobian of the inverse parameters with respect to the original parameters for error propagation

Reimplemented from BIAS::TextureTransform.

Definition at line 167 of file TextureTransformHomography.cpp.

References BIAS::Matrix< T >::GetData(), and TNT::Matrix< T >::newsize().

int BIAS::TextureTransformHomography::ParameterJacobianBackward ( Matrix< double > &  Jac,
const HomgPoint2D sink 
)
virtual

transformed position change when parameters change

Reimplemented from BIAS::TextureTransform.

Definition at line 91 of file TextureTransformHomography.cpp.

References BIAS::Matrix< T >::GetData(), and TNT::Matrix< T >::newsize().

int BIAS::TextureTransformHomography::ParameterJacobianForward ( Matrix< double > &  Jac,
const HomgPoint2D src 
)
virtual

transformed position change when parameters change

Reimplemented from BIAS::TextureTransform.

Definition at line 46 of file TextureTransformHomography.cpp.

References BIAS::Matrix< T >::GetData(), and TNT::Matrix< T >::newsize().

bool BIAS::TextureTransformHomography::ParameterJacobianIsConstant ( ) const
inlinevirtual

return true, if the parameter jacobian does not depend on the image position

Implements BIAS::TextureTransform.

Definition at line 73 of file TextureTransformHomography.hh.

void BIAS::TextureTransformHomography::SetParameters ( const Vector< double > &  p)
virtual

h11-1, h12, h13, h21, h22-1, h23, h31, h32 (h33==1 assumed)

Implements BIAS::TextureTransform.

Definition at line 148 of file TextureTransformHomography.cpp.

int BIAS::TextureTransformHomography::TextureJacobianBackward ( const HomgPoint2D sink,
Matrix2x2< double > &  Jac 
) const
inlinevirtual

shape change of the local region when mapping backward

Reimplemented from BIAS::TextureTransform.

Definition at line 61 of file TextureTransformHomography.hh.

int BIAS::TextureTransformHomography::TextureJacobianForward ( const HomgPoint2D src,
Matrix2x2< double > &  Jac 
) const
inlinevirtual

shape change of the local region when mapping forward

Reimplemented from BIAS::TextureTransform.

Definition at line 55 of file TextureTransformHomography.hh.

virtual bool BIAS::TextureTransformHomography::TextureJacobianIsConstant ( ) const
inlinevirtual

return true if the texture jacobian does not depend on the image position

Implements BIAS::TextureTransform.

Definition at line 67 of file TextureTransformHomography.hh.

Member Data Documentation

HMatrix BIAS::TextureTransformHomography::H_
protected

Definition at line 93 of file TextureTransformHomography.hh.

Referenced by MapForward().

HMatrix BIAS::TextureTransformHomography::Hinv_
protected

Definition at line 93 of file TextureTransformHomography.hh.

Vector<double> BIAS::TextureTransform::P_
protectedinherited

current set of parameters, see SetParameters for meaning

Definition at line 145 of file TextureTransform.hh.

Referenced by BIAS::TextureTransformDisparity::ComposeWithInverseDeltaP(), BIAS::TextureTransformDisplacement::ComposeWithInverseDeltaP(), BIAS::TextureTransformRotation::ComposeWithInverseDeltaP(), BIAS::TextureTransformEuclidian::ComposeWithInverseDeltaP(), BIAS::TextureTransformDisparity::MapBackward(), BIAS::TextureTransformDisplacement::MapBackward(), BIAS::TextureTransformEuclidian::MapBackward(), BIAS::TextureTransformDisparity::MapForward(), BIAS::TextureTransformDisplacement::MapForward(), BIAS::TextureTransformEuclidian::ParameterInversionJacobian(), BIAS::TextureTransformRotation::ParameterJacobianBackward(), BIAS::TextureTransformEuclidian::ParameterJacobianBackward(), BIAS::TextureTransformSimilar::ParameterJacobianBackward(), BIAS::TextureTransformRotation::ParameterJacobianForward(), BIAS::TextureTransformEuclidian::ParameterJacobianForward(), BIAS::TextureTransformSimilar::ParameterJacobianForward(), BIAS::TextureTransformRotation::SetOrigin(), BIAS::TextureTransformSimilar::SetOrigin(), BIAS::TextureTransformEuclidian::SetOrigin(), BIAS::TextureTransformDisparity::SetParameters(), BIAS::TextureTransformDisplacement::SetParameters(), BIAS::TextureTransformRotation::SetParameters(), BIAS::TextureTransformEuclidian::SetParameters(), BIAS::TextureTransformSimilar::SetParameters(), BIAS::TextureTransformDisparity::TextureTransformDisparity(), BIAS::TextureTransformDisplacement::TextureTransformDisplacement(), BIAS::TextureTransformEuclidian::TextureTransformEuclidian(), BIAS::TextureTransformRotation::TextureTransformRotation(), and BIAS::TextureTransformSimilar::TextureTransformSimilar().


The documentation for this class was generated from the following files: