All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
te::gm::GTFilter Class Reference

2D Geometric transformation tie-points filter (outliers remotion). More...

#include <GTFilter.h>

Inheritance diagram for te::gm::GTFilter:

Classes

class  ApplyRansacThreadEntryThreadParams
 Parameters used by the GTFilter::applyRansacThreadEntry method. More...
 

Public Types

typedef unsigned long long int RansacItCounterT
 RANSAC iterations counter type. More...
 

Public Member Functions

bool applyRansac (const std::string &transfName, const GTParameters &inputParams, const double maxDirectMapError, const double maxInverseMapError, const RansacItCounterT &maxIterations, const double &assurance, const bool enableMultiThread, const std::vector< double > &tiePointsWeights, std::vector< te::gm::GTParameters::TiePoint > &outTiePoints, std::auto_ptr< GeometricTransformation > &outTransf)
 Apply a RANSAC based outliers remotion strategy. More...
 
 GTFilter ()
 Default constructor. More...
 
 ~GTFilter ()
 Destructor. More...
 

Static Private Member Functions

static void applyRansacThreadEntry (te::gm::GTFilter::ApplyRansacThreadEntryThreadParams *paramsPtr)
 Surf locator thread entry. More...
 
static double getPt1ConvexHullArea (const std::vector< GTParameters::TiePoint > &tiePoints)
 Returns the tie-points convex hull area (GTParameters::TiePoint::first). More...
 

Detailed Description

2D Geometric transformation tie-points filter (outliers remotion).

Definition at line 52 of file GTFilter.h.

Member Typedef Documentation

typedef unsigned long long int te::gm::GTFilter::RansacItCounterT

RANSAC iterations counter type.

Definition at line 57 of file GTFilter.h.

Constructor & Destructor Documentation

te::gm::GTFilter::GTFilter ( )

Default constructor.

Definition at line 195 of file GTFilter.cpp.

te::gm::GTFilter::~GTFilter ( )

Destructor.

Definition at line 191 of file GTFilter.cpp.

Member Function Documentation

bool te::gm::GTFilter::applyRansac ( const std::string &  transfName,
const GTParameters inputParams,
const double  maxDirectMapError,
const double  maxInverseMapError,
const RansacItCounterT maxIterations,
const double &  assurance,
const bool  enableMultiThread,
const std::vector< double > &  tiePointsWeights,
std::vector< te::gm::GTParameters::TiePoint > &  outTiePoints,
std::auto_ptr< GeometricTransformation > &  outTransf 
)

Apply a RANSAC based outliers remotion strategy.

Parameters
transfNameTransformation name (see te::gm::GTFactory dictionary for reference).
inputParamsInput transformation parameters.
maxDirectMapErrorThe maximum allowed direct mapping error.
maxInverseMapErrorThe maximum allowed inverse mapping error.
maxIterationsThe maximum number of iterations (Use 0-zero to let this number be automatically found).
assuranceThe error-free selection assurance - valid range (0-1) - Use Lower values for good tie-points sets - Higher values may increase the number of iterations. Use 0-zero to let this number be automatically found.
enableMultiThreadEnable multi-threaded processing (good for multi-processor or multi-core systems).
outTransfThe generated output transformation (with the base mininum required tie-points set).
tiePointsWeightsOptional tie-points weights (only positive values) or an empty vector if no weights must be used.
outTiePointsThe filtered output tie-points (non-outliers) in agreenment with the generated transformation.
Returns
true if OK, false on errors.
Note
Reference: Martin A. Fischler and Robert C. Bolles, Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography, Communications of the ACM archive, Volume 24, Issue 6 (June 1981).

Definition at line 199 of file GTFilter.cpp.

References applyRansacThreadEntry(), te::common::GetPhysProcNumber(), te::gm::GTParameters::m_tiePoints, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_transfNamePtr, te::common::AbstractFactory< GeometricTransformation, std::string >::make(), and RANSACGETMAXITERATIONS.

Referenced by te::rp::TiePointsLocator::execute().

double te::gm::GTFilter::getPt1ConvexHullArea ( const std::vector< GTParameters::TiePoint > &  tiePoints)
staticprivate

Returns the tie-points convex hull area (GTParameters::TiePoint::first).

Parameters
tiePointsTie points.
Returns
The tie-points convex hull area

Definition at line 651 of file GTFilter.cpp.

References te::gm::GeometryCollection::add(), te::gm::Geometry::convexHull(), and te::gm::MultiPointType.

Referenced by applyRansacThreadEntry().


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