User Documentation
Centre for Vision, Speech & Signal Processing
DEVELOP IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
AffTransfC::AffTransfC(void)
AffTransfC::AffTransfC(const AffTransfC &)
AffTransfC::AffTransfC(const MatrixC,const VectorC)
AffTransfC::AffTransfC(const StringC)
AffTransfC::AffTransfC(const GeomFeatSetC &,const GeomFeatSetC &)
AffTransfC::AffTransfC(const SArray1dC &,const SArray1dC &)
AffTransfC::AffTransfC(const GeomFeatSetC &,const GeomFeatSetC &,const RealSArray1dC &,const bool)
AffTransfC::AffTransfC(const StringC,const RealSArray1dC &,const bool)
AffTransfC::Transformation(void) const
AffTransfC::Dim(void) const
AffTransfC::T(void)
AffTransfC::R(void)
AffTransfC::S(void)
AffTransfC::V(void)
AffTransfC::SingVal(void) const
AffTransfC::operator*(const VectorC &) const
AffTransfC::operator*(const GeomFeatSetC &) const
AffTransfC::Similarity(void)
AffTransfC::Euclidean(void)
AffTransfC::Translation(void)
AffTransfC
 
The class AffTransfC represents an affine transformation from one space into another.
 
include "amma/aff.hh"
User Level:Default
Library:Caff
Example:aff_transf.cc
Section:Geometry.N-D
In Scope:std

Comments:

The transformation may be constructed from two corresponding feature sets (e.g. points or line segments) using a least-mean-squared fit. In this case the result transforms the coordinate system of the first feature set into that of the second. (Alternatively you can view it as transforming points from the second set into the first.)

The transformation may be decomposed into rotation, scaling etc.

It needs rewriting, based on VecMatC.

Parent Classes: Variables:
Methods:
AffTransfC()
Default constructor

AffTransfC(const AffTransfC & transf)
Copy constructor

AffTransfC(const MatrixC m,const VectorC v)
Constructs transformation from a square matrix and a translation vector

AffTransfC(const StringC file_name)
Reads in transformation matrix from file

AffTransfC(const GeomFeatSetC & x,const GeomFeatSetC & y)
Constructs transformation from 2 feature sets

AffTransfC(const SArray1dC<Point2dC> & x,const SArray1dC<Point2dC> & y)
Constructs transformation from 2 arrays of 2-D points

AffTransfC(const GeomFeatSetC & x,const GeomFeatSetC & y,const RealSArray1dC & sd,const bool verbose = false)
Constructs transformation from 2 N-D feature sets, together with array of N s.d. values that do not vary from feature to feature (when oriented with the feature)

AffTransfC(const StringC file_name,const RealSArray1dC & sd,const bool verbose = false)
Constructs transformation from a single gf file containing corresponding measurements of N-D features, + N s.d. params. Currently assumes that each member of the set contains two corresponding line segs.

Access functions


MatrixC Transformation() const
returns the transformation as an N x (N+1) Matrix

SizeT Dim() const
Returns dimensionality of transform

Decomposition


VectorC T()
Gets translation vector from transformation

If transformation is given by b = Ma + t then M can be decomposed as:
  M = U S VT = R V S VT ( = U S UT R )
where:
  S is a diagonal (scaling) matrix
  R represents the overall rotation
  V (or U) represents the orientation of the scaling axes with respect to the axes of a (or b).


MatrixC R()
Gets rotation matrix from transformation

VectorC S()
Gets the diagonal scaling matrix (as an AMMA vector) from transformation

MatrixC V()
Gets shear orientation from transformation

IntT SingVal() const
returns no. of zero singular values

Operators


VectorC operator*(const VectorC & x) const
Apply transformation to vector

GeomFeatSetC operator*(const GeomFeatSetC & set) const
Apply transformation to geometric feature set

Lower order transformations


AffTransfC Similarity()
returns the similarity transform (i.e. no shear or anisotropic scaling)

AffTransfC Euclidean()
returns the Euclidean transform (i.e. no scaling at all)

AffTransfC Translation()
the returned transform just does the translation component


Programmer:Bill Christmas, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001