te::gm::ThirdDegreePolynomialGT Class Reference

Third Degree Polynomial Geometric transformation. More...

#include <ThirdDegreePolynomialGT.h>

Inheritance diagram for te::gm::ThirdDegreePolynomialGT:
te::gm::GeometricTransformation

Public Member Functions

GeometricTransformationclone () const
 Creat a clone copy of this instance. More...
 
void directMap (const GTParameters &params, const double &pt1X, const double &pt1Y, double &pt2X, double &pt2Y) const
 Direct mapping (from pt1 space into pt2 space). More...
 
void directMap (const double &pt1X, const double &pt1Y, double &pt2X, double &pt2Y) const
 Direct mapping ( from pt1 space into pt2 space ). More...
 
void directMap (const GTParameters &params, const Coord2D &pt1, Coord2D &pt2) const
 Direct mapping (from pt1 space into pt2 space). More...
 
void directMap (const Coord2D &pt1, Coord2D &pt2) const
 Direct mapping (from pt1 space into pt2 space). More...
 
double getDirectMappingError (const GTParameters::TiePoint &tiePoint, const GTParameters &params) const
 Calculates the direct mapping error for the supplied tie-point. More...
 
double getDirectMappingError (const GTParameters::TiePoint &tiePoint) const
 Calculates the direct mapping error for the supplied tie-point. More...
 
double getDirectMapRMSE (const std::vector< GTParameters::TiePoint > &tiePoints, const GTParameters &params) const
 Calculates root mean square direct mapping error for the supplied tie-points using the supplied parameters. More...
 
double getDirectMapRMSE (const GTParameters &params) const
 Calculates root mean square direct mapping error for the supplied parameters. More...
 
double getDirectMapRMSE (const std::vector< GTParameters::TiePoint > &tiePoints) const
 Calculates root mean square direct mapping error for the supplied tie-points. More...
 
double getDirectMapRMSE () const
 Calculates root mean square direct mapping error. More...
 
double getInverseMappingError (const GTParameters::TiePoint &tiePoint, const GTParameters &params) const
 Calculates the inverse mapping error for the supplied tie-point. More...
 
double getInverseMappingError (const GTParameters::TiePoint &tiePoint) const
 Calculates the inverse mapping error for the supplied tie-point. More...
 
double getInverseMapRMSE (const std::vector< GTParameters::TiePoint > &tiePoints, const GTParameters &params) const
 Calculates root mean square inverse mapping error for the supplied tie-points using the supplied parameters. More...
 
double getInverseMapRMSE (const GTParameters &params) const
 Calculates root mean square inverse mapping error for the supplied parameters. More...
 
double getInverseMapRMSE (const std::vector< GTParameters::TiePoint > &tiePoints) const
 Calculates root mean square inverse mapping error for the supplied tie-points. More...
 
double getInverseMapRMSE () const
 Calculates root mean square inverse mapping error. More...
 
double getMaxDirectMappingError (const GTParameters &params) const
 Calculates maximum direct mapping error for the supplied parameters. More...
 
double getMaxDirectMappingError () const
 Calculates the current transformation maximum direct mapping error. More...
 
double getMaxInverseMappingError (const GTParameters &params) const
 Calculates maximum inverse mapping error for the supplied parameters. More...
 
double getMaxInverseMappingError () const
 Calculates the current transformation maximum inverse mapping error. More...
 
unsigned int getMinRequiredTiePoints () const
 Returns the minimum number of required tie-points for the current transformation. More...
 
const std::string & getName () const
 Returns the current transformation name. More...
 
const GTParametersgetParameters () const
 Returns a reference of the current internal transformation parameters. More...
 
bool initialize (const GTParameters &newParameters)
 Initialize the current transformation following the new supplied parameters. More...
 
void inverseMap (const GTParameters &params, const double &pt2X, const double &pt2Y, double &pt1X, double &pt1Y) const
 Inverse mapping (from pt2 space into pt1 space). More...
 
void inverseMap (const double &pt2X, const double &pt2Y, double &pt1X, double &pt1Y) const
 Inverse mapping (from pt2 space into pt1 space). More...
 
void inverseMap (const GTParameters &params, const Coord2D &pt2, Coord2D &pt1) const
 Inverse mapping ( from pt2 space into pt1 space ). More...
 
void inverseMap (const Coord2D &pt2, Coord2D &pt1) const
 Inverse mapping (from pt2 space into pt1 space). More...
 
bool isValid (const GTParameters &params) const
 Verifies if the supplied parameters already has a valid transformation. More...
 
bool isValid () const
 Tells if the current instance has a valid transformation. More...
 
 ThirdDegreePolynomialGT ()
 Default constructor. More...
 
 ~ThirdDegreePolynomialGT ()
 Destructor. More...
 

Protected Member Functions

bool computeParameters (GTParameters &params) const
 Calculate the transformation parameters following the new supplied tie-points. More...
 

Protected Attributes

boost::numeric::ublas::matrix< double > m_computeParameters_A
 
boost::numeric::ublas::matrix< double > m_computeParameters_AI
 
boost::numeric::ublas::matrix< double > m_computeParameters_B
 
boost::numeric::ublas::matrix< double > m_computeParameters_BI
 
boost::numeric::ublas::matrix< double > m_computeParameters_PinvW
 
boost::numeric::ublas::matrix< double > m_computeParameters_PinvWI
 
unsigned int m_computeParameters_tiepointsSize
 
unsigned int m_computeParameters_tpIdx
 
boost::numeric::ublas::matrix< double > m_computeParameters_W
 
boost::numeric::ublas::matrix< double > m_computeParameters_WI
 
boost::numeric::ublas::matrix< double > m_computeParameters_X
 
boost::numeric::ublas::matrix< double > m_computeParameters_XI
 
boost::numeric::ublas::matrix< double > m_computeParameters_Y
 
boost::numeric::ublas::matrix< double > m_computeParameters_YI
 
GTParameters m_internalParameters
 The current internal parameters. More...
 

Detailed Description

Third Degree Polynomial Geometric transformation.

Note
The transformation parameters (inside GTParameters::m_directParameters) are disposed on the following form:
u = a.x"0.y"0 + b.x"1*y"0 + c.x"0.y"1 + d.x"2.y"0 + e.x"1.y"1 + f.x"0.y"2 + g.x"3.y"0 + h.x"2.y"1 + i.x"1.y"2 + j.x"0.y"3
v = k.x"0.y"0 + l.x"1*y"0 + m.x"0.y"1 + n.x"2.y"0 + o.x"1.y"1 + p.x"0.y"2 + q.x"3.y"0 + r.x"2.y"1 + s.x"1.y"2 + t.x"0.y"3
GTParameters::m_directParameters = [ a b c d e f g h i j k l m n o p q r s t]

Definition at line 55 of file ThirdDegreePolynomialGT.h.

Constructor & Destructor Documentation

te::gm::ThirdDegreePolynomialGT::ThirdDegreePolynomialGT ( )

Default constructor.

te::gm::ThirdDegreePolynomialGT::~ThirdDegreePolynomialGT ( )

Destructor.

Member Function Documentation

GeometricTransformation* te::gm::ThirdDegreePolynomialGT::clone ( ) const
virtual

Creat a clone copy of this instance.

Returns
A clone copy of this instance (the caller of this method must take the ownership of the returned object and delete it when appropriate.

Implements te::gm::GeometricTransformation.

bool te::gm::ThirdDegreePolynomialGT::computeParameters ( GTParameters params) const
protectedvirtual

Calculate the transformation parameters following the new supplied tie-points.

Parameters
paramsTransformation parameters.
Returns
true if OK, false on errors.

Implements te::gm::GeometricTransformation.

void te::gm::ThirdDegreePolynomialGT::directMap ( const GTParameters params,
const double &  pt1X,
const double &  pt1Y,
double &  pt2X,
double &  pt2Y 
) const
virtual

Direct mapping (from pt1 space into pt2 space).

Parameters
paramsTransformation parameters.
pt1Xpt1 X coordinate.
pt1Ypt1 Y coordinate.
pt2Xpt2 X coordinate.
pt2Ypt2 Y coordinate.

Implements te::gm::GeometricTransformation.

void te::gm::GeometricTransformation::directMap ( const double &  pt1X,
const double &  pt1Y,
double &  pt2X,
double &  pt2Y 
) const
inlineinherited

Direct mapping ( from pt1 space into pt2 space ).

Parameters
pt1Xpt1 X coordinate.
pt1Ypt1 Y coordinate.
pt2Xpt2 X coordinate.
pt2Ypt2 Y coordinate.

Definition at line 133 of file GeometricTransformation.h.

void te::gm::GeometricTransformation::directMap ( const GTParameters params,
const Coord2D pt1,
Coord2D pt2 
) const
inlineinherited

Direct mapping (from pt1 space into pt2 space).

Parameters
paramsTransformation parameters.
pt1pt1 coordinate.
pt2pt2 coordinate.

Definition at line 150 of file GeometricTransformation.h.

References te::gm::Coord2D::x, and te::gm::Coord2D::y.

void te::gm::GeometricTransformation::directMap ( const Coord2D pt1,
Coord2D pt2 
) const
inlineinherited

Direct mapping (from pt1 space into pt2 space).

Parameters
pt1pt1 coordinate.
pt2pt2 coordinate.

Definition at line 161 of file GeometricTransformation.h.

References te::gm::Coord2D::x, and te::gm::Coord2D::y.

double te::gm::GeometricTransformation::getDirectMappingError ( const GTParameters::TiePoint tiePoint,
const GTParameters params 
) const
inherited

Calculates the direct mapping error for the supplied tie-point.

Parameters
tiePointThe tie-point.
paramsTransformation parameters.
Returns
The current maximum direct mapping error.
double te::gm::GeometricTransformation::getDirectMappingError ( const GTParameters::TiePoint tiePoint) const
inlineinherited

Calculates the direct mapping error for the supplied tie-point.

Parameters
tiePointThe tie-point.
Returns
The current direct mapping error.

Definition at line 374 of file GeometricTransformation.h.

double te::gm::GeometricTransformation::getDirectMapRMSE ( const std::vector< GTParameters::TiePoint > &  tiePoints,
const GTParameters params 
) const
inherited

Calculates root mean square direct mapping error for the supplied tie-points using the supplied parameters.

Parameters
tiePointsThe tie-points.
paramsTransformation parameters.
Returns
The root mean square error.
double te::gm::GeometricTransformation::getDirectMapRMSE ( const GTParameters params) const
inlineinherited

Calculates root mean square direct mapping error for the supplied parameters.

Parameters
paramsTransformation parameters.
Returns
The root mean square error.

Definition at line 283 of file GeometricTransformation.h.

References te::gm::GTParameters::m_tiePoints.

double te::gm::GeometricTransformation::getDirectMapRMSE ( const std::vector< GTParameters::TiePoint > &  tiePoints) const
inlineinherited

Calculates root mean square direct mapping error for the supplied tie-points.

Parameters
tiePointsThe tie-points.
Returns
The root mean square error.

Definition at line 295 of file GeometricTransformation.h.

double te::gm::GeometricTransformation::getDirectMapRMSE ( ) const
inlineinherited

Calculates root mean square direct mapping error.

Returns
The root mean square error.

Definition at line 305 of file GeometricTransformation.h.

double te::gm::GeometricTransformation::getInverseMappingError ( const GTParameters::TiePoint tiePoint,
const GTParameters params 
) const
inherited

Calculates the inverse mapping error for the supplied tie-point.

Parameters
tiePointThe tie-point.
paramsTransformation parameters.
Returns
The current maximum inverse mapping error.
double te::gm::GeometricTransformation::getInverseMappingError ( const GTParameters::TiePoint tiePoint) const
inlineinherited

Calculates the inverse mapping error for the supplied tie-point.

Parameters
tiePointThe tie-point.
Returns
The current inverse mapping error.

Definition at line 397 of file GeometricTransformation.h.

double te::gm::GeometricTransformation::getInverseMapRMSE ( const std::vector< GTParameters::TiePoint > &  tiePoints,
const GTParameters params 
) const
inherited

Calculates root mean square inverse mapping error for the supplied tie-points using the supplied parameters.

Parameters
tiePointsThe tie-points.
paramsTransformation parameters.
Returns
The root mean square error.
double te::gm::GeometricTransformation::getInverseMapRMSE ( const GTParameters params) const
inlineinherited

Calculates root mean square inverse mapping error for the supplied parameters.

Parameters
paramsTransformation parameters.
Returns
The root mean square error.

Definition at line 329 of file GeometricTransformation.h.

References te::gm::GTParameters::m_tiePoints.

double te::gm::GeometricTransformation::getInverseMapRMSE ( const std::vector< GTParameters::TiePoint > &  tiePoints) const
inlineinherited

Calculates root mean square inverse mapping error for the supplied tie-points.

Parameters
tiePointsThe tie-points.
Returns
The root mean square error.

Definition at line 341 of file GeometricTransformation.h.

double te::gm::GeometricTransformation::getInverseMapRMSE ( ) const
inlineinherited

Calculates root mean square inverse mapping error.

Returns
The root mean square error.

Definition at line 351 of file GeometricTransformation.h.

double te::gm::GeometricTransformation::getMaxDirectMappingError ( const GTParameters params) const
inherited

Calculates maximum direct mapping error for the supplied parameters.

Parameters
paramsTransformation parameters.
Returns
The maximum direct mapping error for the supplied parameters.
double te::gm::GeometricTransformation::getMaxDirectMappingError ( ) const
inlineinherited

Calculates the current transformation maximum direct mapping error.

Returns
The current maximum direct mapping error.

Definition at line 240 of file GeometricTransformation.h.

double te::gm::GeometricTransformation::getMaxInverseMappingError ( const GTParameters params) const
inherited

Calculates maximum inverse mapping error for the supplied parameters.

Parameters
paramsTransformation parameters.
Returns
The maximum inverse mapping error for the supplied parameters.
double te::gm::GeometricTransformation::getMaxInverseMappingError ( ) const
inlineinherited

Calculates the current transformation maximum inverse mapping error.

Returns
The current maximum inverse mapping error.

Definition at line 259 of file GeometricTransformation.h.

unsigned int te::gm::ThirdDegreePolynomialGT::getMinRequiredTiePoints ( ) const
virtual

Returns the minimum number of required tie-points for the current transformation.

Returns
The minimum number of required tie-points for the current transformation.

Implements te::gm::GeometricTransformation.

const std::string& te::gm::ThirdDegreePolynomialGT::getName ( ) const
virtual

Returns the current transformation name.

Returns
The current transformation name.

Implements te::gm::GeometricTransformation.

const GTParameters& te::gm::GeometricTransformation::getParameters ( ) const
inlineinherited

Returns a reference of the current internal transformation parameters.

Returns
A reference of the current internal transformation parameters.

Definition at line 105 of file GeometricTransformation.h.

bool te::gm::GeometricTransformation::initialize ( const GTParameters newParameters)
inherited

Initialize the current transformation following the new supplied parameters.

Parameters
newparamsThe new parameters.
Returns
true if OK, false on errors.
void te::gm::ThirdDegreePolynomialGT::inverseMap ( const GTParameters params,
const double &  pt2X,
const double &  pt2Y,
double &  pt1X,
double &  pt1Y 
) const
virtual

Inverse mapping (from pt2 space into pt1 space).

Parameters
paramsTransformation parameters.
pt1Xpt1 X coordinate.
pt1Ypt1 Y coordinate.
pt2Xpt2 X coordinate.
pt2Ypt2 Y coordinate.

Implements te::gm::GeometricTransformation.

void te::gm::GeometricTransformation::inverseMap ( const double &  pt2X,
const double &  pt2Y,
double &  pt1X,
double &  pt1Y 
) const
inlineinherited

Inverse mapping (from pt2 space into pt1 space).

Parameters
pt1Xpt1 X coordinate.
pt1Ypt1 Y coordinate.
pt2Xpt2 X coordinate.
pt2Ypt2 Y coordinate.

Definition at line 191 of file GeometricTransformation.h.

void te::gm::GeometricTransformation::inverseMap ( const GTParameters params,
const Coord2D pt2,
Coord2D pt1 
) const
inlineinherited

Inverse mapping ( from pt2 space into pt1 space ).

Parameters
paramsTransformation parameters.
pt2pt2 coordinate.
pt1pt1 coordinate.

Definition at line 208 of file GeometricTransformation.h.

References te::gm::Coord2D::x, and te::gm::Coord2D::y.

void te::gm::GeometricTransformation::inverseMap ( const Coord2D pt2,
Coord2D pt1 
) const
inlineinherited

Inverse mapping (from pt2 space into pt1 space).

Parameters
pt2pt2 coordinate.
pt1pt1 coordinate.

Definition at line 219 of file GeometricTransformation.h.

References te::gm::Coord2D::x, and te::gm::Coord2D::y.

bool te::gm::ThirdDegreePolynomialGT::isValid ( const GTParameters params) const
virtual

Verifies if the supplied parameters already has a valid transformation.

Parameters
paramsTransformation parameters.
Returns
true if a transformation is already defined, false otherwise.

Implements te::gm::GeometricTransformation.

bool te::gm::GeometricTransformation::isValid ( ) const
inlineinherited

Tells if the current instance has a valid transformation.

Returns
true if a transformation is already defined, false otherwise.

Definition at line 86 of file GeometricTransformation.h.

Member Data Documentation

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_A
mutableprotected

Definition at line 92 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_AI
mutableprotected

Definition at line 93 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_B
mutableprotected

Definition at line 94 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_BI
mutableprotected

Definition at line 95 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_PinvW
mutableprotected

Definition at line 90 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_PinvWI
mutableprotected

Definition at line 91 of file ThirdDegreePolynomialGT.h.

unsigned int te::gm::ThirdDegreePolynomialGT::m_computeParameters_tiepointsSize
mutableprotected

Definition at line 82 of file ThirdDegreePolynomialGT.h.

unsigned int te::gm::ThirdDegreePolynomialGT::m_computeParameters_tpIdx
mutableprotected

Definition at line 83 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_W
mutableprotected

Definition at line 84 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_WI
mutableprotected

Definition at line 85 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_X
mutableprotected

Definition at line 86 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_XI
mutableprotected

Definition at line 87 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_Y
mutableprotected

Definition at line 88 of file ThirdDegreePolynomialGT.h.

boost::numeric::ublas::matrix< double > te::gm::ThirdDegreePolynomialGT::m_computeParameters_YI
mutableprotected

Definition at line 89 of file ThirdDegreePolynomialGT.h.

GTParameters te::gm::GeometricTransformation::m_internalParameters
protectedinherited

The current internal parameters.

Definition at line 432 of file GeometricTransformation.h.


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