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::TextureTransformRotation Class Reference

analytic properties of rotational image warp (around some point) More...

#include <Image/TextureTransformRotation.hh>

+ Inheritance diagram for BIAS::TextureTransformRotation:
+ Collaboration diagram for BIAS::TextureTransformRotation:

Public Member Functions

virtual TextureTransformRotationClone () const
 virtual covariant copy constructor, caller must eventually destroy the created object More...
 
void ComposeWithInverseDeltaP (const Vector< double > &deltaP)
 concatenate *this and an inverse transform with param deltaP and save new parameter vector to *this. More...
 
virtual Vector< double > GetInverseParameters () const
 returns parameter vector which undoes the current warp More...
 
const Vector2< double > & GetOrigin () const
 origin relative to which rotation and scale is performed 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
 the jacobian depends on x More...
 
void SetOrigin (const Vector2< double > &origin1)
 set origin in image1 and image2 More...
 
void SetParameters (const Vector< double > &p)
 rotation(rad) with respect to origin_! x' = A*(x-origin)+origin where A==[cos -sin; sin cos] 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
 local warp is the same at any image position More...
 
 TextureTransformRotation ()
 
virtual ~TextureTransformRotation ()
 

Protected Attributes

Matrix2x2< double > A_
 cached local warp and inverse More...
 
Matrix2x2< double > Ainv_
 
Vector2< double > origin1_
 origin relative to which rotation and scale is performed More...
 
Vector< double > P_
 current set of parameters, see SetParameters for meaning More...
 
double tx_
 cached displacement and inverse More...
 
double txinv_
 
double ty_
 
double tyinv_
 

Detailed Description

analytic properties of rotational image warp (around some point)

See BIAS::TextureTransform for explanation of methods.

Author
koeser 04/2008

Definition at line 40 of file TextureTransformRotation.hh.

Constructor & Destructor Documentation

BIAS::TextureTransformRotation::TextureTransformRotation ( )
inline

Definition at line 42 of file TextureTransformRotation.hh.

References TNT::Vector< T >::newsize(), and BIAS::TextureTransform::P_.

Referenced by Clone().

virtual BIAS::TextureTransformRotation::~TextureTransformRotation ( )
inlinevirtual

Definition at line 47 of file TextureTransformRotation.hh.

Member Function Documentation

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

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

Implements BIAS::TextureTransform.

Definition at line 157 of file TextureTransformRotation.hh.

References TextureTransformRotation().

void BIAS::TextureTransformRotation::ComposeWithInverseDeltaP ( const Vector< double > &  deltaP)
inlinevirtual

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 144 of file TextureTransformRotation.hh.

References BIAS::TextureTransform::P_, and SetParameters().

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().

const Vector2<double>& BIAS::TextureTransformRotation::GetOrigin ( ) const
inline

origin relative to which rotation and scale is performed

Definition at line 168 of file TextureTransformRotation.hh.

References origin1_.

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::TextureTransformRotation::MapBackward ( const HomgPoint2D sink,
HomgPoint2D source 
) const
inlinevirtual

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

Implements BIAS::TextureTransform.

Definition at line 58 of file TextureTransformRotation.hh.

References Ainv_, BIAS::Equal(), MapForward(), txinv_, and tyinv_.

int BIAS::TextureTransformRotation::MapForward ( const HomgPoint2D src,
HomgPoint2D sink 
) const
inlinevirtual

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

Implements BIAS::TextureTransform.

Definition at line 49 of file TextureTransformRotation.hh.

References A_, tx_, and ty_.

Referenced by MapBackward().

int BIAS::TextureTransformRotation::ParameterInversionJacobian ( Matrix< double > &  Jac) const
inlinevirtual

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 150 of file TextureTransformRotation.hh.

References TNT::Matrix< T >::newsize().

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

transformed position change when parameters change

Reimplemented from BIAS::TextureTransform.

Definition at line 104 of file TextureTransformRotation.hh.

References TNT::Matrix< T >::newsize(), origin1_, and BIAS::TextureTransform::P_.

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

transformed position change when parameters change

Reimplemented from BIAS::TextureTransform.

Definition at line 89 of file TextureTransformRotation.hh.

References TNT::Matrix< T >::newsize(), origin1_, and BIAS::TextureTransform::P_.

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

the jacobian depends on x

Implements BIAS::TextureTransform.

Definition at line 121 of file TextureTransformRotation.hh.

void BIAS::TextureTransformRotation::SetOrigin ( const Vector2< double > &  origin1)
inline

set origin in image1 and image2

Definition at line 162 of file TextureTransformRotation.hh.

References origin1_, BIAS::TextureTransform::P_, and SetParameters().

void BIAS::TextureTransformRotation::SetParameters ( const Vector< double > &  p)
inlinevirtual

rotation(rad) with respect to origin_! x' = A*(x-origin)+origin where A==[cos -sin; sin cos]

Implements BIAS::TextureTransform.

Definition at line 128 of file TextureTransformRotation.hh.

References A_, Ainv_, origin1_, BIAS::TextureTransform::P_, BIAS::Vector< T >::Size(), tx_, txinv_, ty_, and tyinv_.

Referenced by ComposeWithInverseDeltaP(), and SetOrigin().

int BIAS::TextureTransformRotation::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 80 of file TextureTransformRotation.hh.

References Ainv_.

int BIAS::TextureTransformRotation::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 74 of file TextureTransformRotation.hh.

References A_.

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

local warp is the same at any image position

Implements BIAS::TextureTransform.

Definition at line 87 of file TextureTransformRotation.hh.

Member Data Documentation

Matrix2x2<double> BIAS::TextureTransformRotation::A_
protected

cached local warp and inverse

Definition at line 174 of file TextureTransformRotation.hh.

Referenced by MapForward(), SetParameters(), and TextureJacobianForward().

Matrix2x2<double> BIAS::TextureTransformRotation::Ainv_
protected
Vector2<double> BIAS::TextureTransformRotation::origin1_
protected

origin relative to which rotation and scale is performed

Definition at line 178 of file TextureTransformRotation.hh.

Referenced by GetOrigin(), ParameterJacobianBackward(), ParameterJacobianForward(), SetOrigin(), and SetParameters().

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(), ComposeWithInverseDeltaP(), BIAS::TextureTransformEuclidian::ComposeWithInverseDeltaP(), BIAS::TextureTransformDisparity::MapBackward(), BIAS::TextureTransformDisplacement::MapBackward(), BIAS::TextureTransformEuclidian::MapBackward(), BIAS::TextureTransformDisparity::MapForward(), BIAS::TextureTransformDisplacement::MapForward(), BIAS::TextureTransformEuclidian::ParameterInversionJacobian(), ParameterJacobianBackward(), BIAS::TextureTransformEuclidian::ParameterJacobianBackward(), BIAS::TextureTransformSimilar::ParameterJacobianBackward(), ParameterJacobianForward(), BIAS::TextureTransformSimilar::ParameterJacobianForward(), BIAS::TextureTransformEuclidian::ParameterJacobianForward(), SetOrigin(), BIAS::TextureTransformSimilar::SetOrigin(), BIAS::TextureTransformEuclidian::SetOrigin(), BIAS::TextureTransformDisparity::SetParameters(), BIAS::TextureTransformDisplacement::SetParameters(), SetParameters(), BIAS::TextureTransformEuclidian::SetParameters(), BIAS::TextureTransformSimilar::SetParameters(), BIAS::TextureTransformDisparity::TextureTransformDisparity(), BIAS::TextureTransformDisplacement::TextureTransformDisplacement(), BIAS::TextureTransformEuclidian::TextureTransformEuclidian(), TextureTransformRotation(), and BIAS::TextureTransformSimilar::TextureTransformSimilar().

double BIAS::TextureTransformRotation::tx_
protected

cached displacement and inverse

Definition at line 176 of file TextureTransformRotation.hh.

Referenced by MapForward(), and SetParameters().

double BIAS::TextureTransformRotation::txinv_
protected

Definition at line 176 of file TextureTransformRotation.hh.

Referenced by MapBackward(), and SetParameters().

double BIAS::TextureTransformRotation::ty_
protected

Definition at line 176 of file TextureTransformRotation.hh.

Referenced by MapForward(), and SetParameters().

double BIAS::TextureTransformRotation::tyinv_
protected

Definition at line 176 of file TextureTransformRotation.hh.

Referenced by MapBackward(), and SetParameters().


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