Basic Image AlgorithmS Library 2.8.0
Public Member Functions | Protected Attributes

BIAS::TextureTransformSimilar Class Reference

#include <Image/TextureTransformSimilar.hh>

Inheritance diagram for BIAS::TextureTransformSimilar:
Collaboration diagram for BIAS::TextureTransformSimilar:

List of all members.

Public Member Functions

virtual TextureTransformSimilarClone () const
 virtual covariant copy constructor, caller must eventually destroy the created object
void ComposeWithInverseDeltaP (const Vector< double > &deltaP)
 concatenate *this and an inverse transform with param deltaP and save new parameter vector to *this.
virtual Vector< double > GetInverseParameters () const
 returns parameter vector which undoes the current warp
const Vector2< double > & GetOrigin () const
 origin relative to which rotation and scale is performed
void GetParameters (Vector< double > &p) const
 get the current parameter vector
int MapBackward (const HomgPoint2D &sink, HomgPoint2D &src) const
 map a point in image "source" to a point in image "sink"
int MapForward (const HomgPoint2D &src, HomgPoint2D &sink) const
 map a point in image "source" to a point in image "sink"
virtual 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
int ParameterJacobianBackward (Matrix< double > &Jac, const HomgPoint2D &src)
 transformed position change when parameters change
int ParameterJacobianForward (Matrix< double > &Jac, const HomgPoint2D &src)
 transformed position change when parameters change
bool ParameterJacobianIsConstant () const
 the jacobian depends on x
void SetOrigin (const Vector2< double > &origin)
 origin relative to which rotation and scale is performed
void SetParameters (const Vector< double > &p)
 rotation(rad), scale-1, dx,dy.
int TextureJacobianBackward (const HomgPoint2D &sink, Matrix2x2< double > &Jac) const
 shape change of the local region when mapping backward
int TextureJacobianForward (const HomgPoint2D &src, Matrix2x2< double > &Jac) const
 shape change of the local region when mapping forward
virtual bool TextureJacobianIsConstant () const
 local warp is the same at any image position
 TextureTransformSimilar ()
virtual ~TextureTransformSimilar ()

Protected Attributes

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

Detailed Description

Examples:

ExampleAlignment.cpp.

Definition at line 40 of file TextureTransformSimilar.hh.


Constructor & Destructor Documentation

BIAS::TextureTransformSimilar::TextureTransformSimilar ( ) [inline]

Definition at line 42 of file TextureTransformSimilar.hh.

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

Referenced by Clone().

virtual BIAS::TextureTransformSimilar::~TextureTransformSimilar ( ) [inline, virtual]

Definition at line 50 of file TextureTransformSimilar.hh.


Member Function Documentation

virtual TextureTransformSimilar* BIAS::TextureTransformSimilar::Clone ( ) const [inline, virtual]

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

Implements BIAS::TextureTransform.

Definition at line 200 of file TextureTransformSimilar.hh.

References TextureTransformSimilar().

void BIAS::TextureTransformSimilar::ComposeWithInverseDeltaP ( const Vector< double > &  deltaP) [inline, 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 167 of file TextureTransformSimilar.hh.

References A_, BIAS::Matrix3x3< T >::GetInverse(), origin_, SetParameters(), tx_, and ty_.

virtual Vector<double> BIAS::TextureTransform::GetInverseParameters ( ) const [inline, virtual, inherited]

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::TextureTransformSimilar::GetOrigin ( ) const [inline]

origin relative to which rotation and scale is performed

Definition at line 211 of file TextureTransformSimilar.hh.

References origin_.

void BIAS::TextureTransform::GetParameters ( Vector< double > &  p) const [inline, inherited]

get the current parameter vector

Definition at line 83 of file TextureTransform.hh.

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

int BIAS::TextureTransformSimilar::MapBackward ( const HomgPoint2D sink,
HomgPoint2D source 
) const [inline, virtual]

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

Implements BIAS::TextureTransform.

Definition at line 61 of file TextureTransformSimilar.hh.

References Ainv_, MapForward(), txinv_, and tyinv_.

int BIAS::TextureTransformSimilar::MapForward ( const HomgPoint2D src,
HomgPoint2D sink 
) const [inline, virtual]

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

Implements BIAS::TextureTransform.

Definition at line 52 of file TextureTransformSimilar.hh.

References A_, tx_, and ty_.

Referenced by MapBackward().

virtual int BIAS::TextureTransform::ParameterInversionJacobian ( Matrix< double > &  Jac) const [inline, virtual, inherited]

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

Reimplemented in BIAS::TextureTransformAffine, BIAS::TextureTransformDisparity, BIAS::TextureTransformDisplacement, BIAS::TextureTransformEuclidian, BIAS::TextureTransformHomography, and BIAS::TextureTransformRotation.

Definition at line 124 of file TextureTransform.hh.

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

int BIAS::TextureTransformSimilar::ParameterJacobianBackward ( Matrix< double > &  Jac,
const HomgPoint2D sink 
) [inline, virtual]

transformed position change when parameters change

Reimplemented from BIAS::TextureTransform.

Definition at line 115 of file TextureTransformSimilar.hh.

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

int BIAS::TextureTransformSimilar::ParameterJacobianForward ( Matrix< double > &  Jac,
const HomgPoint2D src 
) [inline, virtual]

transformed position change when parameters change

Reimplemented from BIAS::TextureTransform.

Definition at line 92 of file TextureTransformSimilar.hh.

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

bool BIAS::TextureTransformSimilar::ParameterJacobianIsConstant ( ) const [inline, virtual]

the jacobian depends on x

Implements BIAS::TextureTransform.

Definition at line 143 of file TextureTransformSimilar.hh.

void BIAS::TextureTransformSimilar::SetOrigin ( const Vector2< double > &  origin) [inline]

origin relative to which rotation and scale is performed

Examples:
ExampleAlignment.cpp.

Definition at line 205 of file TextureTransformSimilar.hh.

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

void BIAS::TextureTransformSimilar::SetParameters ( const Vector< double > &  p) [inline, virtual]

rotation(rad), scale-1, dx,dy.

All parameters with respect to origin_! x' = A*(x-origin)+d+origin where A==(s+1)[cos -sin; sin cos]

Implements BIAS::TextureTransform.

Definition at line 150 of file TextureTransformSimilar.hh.

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

Referenced by ComposeWithInverseDeltaP(), and SetOrigin().

int BIAS::TextureTransformSimilar::TextureJacobianBackward ( const HomgPoint2D sink,
Matrix2x2< double > &  Jac 
) const [inline, virtual]

shape change of the local region when mapping backward

Reimplemented from BIAS::TextureTransform.

Definition at line 83 of file TextureTransformSimilar.hh.

References Ainv_.

int BIAS::TextureTransformSimilar::TextureJacobianForward ( const HomgPoint2D src,
Matrix2x2< double > &  Jac 
) const [inline, virtual]

shape change of the local region when mapping forward

Reimplemented from BIAS::TextureTransform.

Definition at line 77 of file TextureTransformSimilar.hh.

References A_.

virtual bool BIAS::TextureTransformSimilar::TextureJacobianIsConstant ( ) const [inline, virtual]

local warp is the same at any image position

Implements BIAS::TextureTransform.

Definition at line 90 of file TextureTransformSimilar.hh.


Member Data Documentation

cached local warp and inverse

Definition at line 217 of file TextureTransformSimilar.hh.

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

Definition at line 217 of file TextureTransformSimilar.hh.

Referenced by MapBackward(), SetParameters(), and TextureJacobianBackward().

origin relative to which rotation and scale is performed

Definition at line 221 of file TextureTransformSimilar.hh.

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

Vector<double> BIAS::TextureTransform::P_ [protected, inherited]

current set of parameters, see SetParameters for meaning

Definition at line 145 of file TextureTransform.hh.

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

cached displacement and inverse

Definition at line 219 of file TextureTransformSimilar.hh.

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

Definition at line 219 of file TextureTransformSimilar.hh.

Referenced by MapBackward(), and SetParameters().

Definition at line 219 of file TextureTransformSimilar.hh.

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

Definition at line 219 of file TextureTransformSimilar.hh.

Referenced by MapBackward(), and SetParameters().


The documentation for this class was generated from the following file:
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends