2D Geometric transformation tie-points filter (outliers remotion). More...
#include <GTFilter.h>
Classes | |
class | ApplyRansacThreadEntryThreadParams |
Parameters used by the GTFilter::applyRansacThreadEntry method. More... | |
Public Types | |
typedef long double | RansacFloatCounterT |
RANSAC floating point counter type. More... | |
typedef unsigned long int | RansacIntegerCounterT |
RANSAC integer counter type. More... | |
Public Member Functions | |
bool | applyRansac (const std::string &transfName, const GTParameters &inputParams, const double maxDirectMapError, const double maxInverseMapError, const RansacIntegerCounterT &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... | |
2D Geometric transformation tie-points filter (outliers remotion).
Definition at line 52 of file GTFilter.h.
typedef long double te::gm::GTFilter::RansacFloatCounterT |
RANSAC floating point counter type.
Definition at line 60 of file GTFilter.h.
typedef unsigned long int te::gm::GTFilter::RansacIntegerCounterT |
RANSAC integer counter type.
Definition at line 57 of file GTFilter.h.
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.
bool te::gm::GTFilter::applyRansac | ( | const std::string & | transfName, |
const GTParameters & | inputParams, | ||
const double | maxDirectMapError, | ||
const double | maxInverseMapError, | ||
const RansacIntegerCounterT & | 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.
transfName | Transformation name (see te::gm::GTFactory dictionary for reference). |
inputParams | Input transformation parameters. |
maxDirectMapError | The maximum allowed direct mapping error. |
maxInverseMapError | The maximum allowed inverse mapping error. |
maxIterations | The maximum number of iterations (Use 0-zero to let this number be automatically found). |
assurance | The error-free selection assurance - valid range (0-1) - Use Lower values for good tie-points sets - Higher values may increase the number of iterations. |
enableMultiThread | Enable multi-threaded processing (good for multi-processor or multi-core systems). |
outTransf | The generated output transformation (with the base mininum required tie-points set). |
tiePointsWeights | Optional tie-points weights (only positive values) or an empty vector if no weights must be used. |
outTiePoints | The filtered output tie-points (non-outliers) in agreenment with the generated transformation. |
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().
|
staticprivate |
Surf locator thread entry.
paramsPtr | A pointer to the thread parameters. |
Definition at line 368 of file GTFilter.cpp.
References getPt1ConvexHullArea(), te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_assurance, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_dynamicMaxIterationsPtr, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_inputGTParamsPtr, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_keepRunningFlagPtr, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_maxDirectMapError, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_maxInverseMapError, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_mutexPtr, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_procsNumber, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_returnValuePtr, te::gm::GTParameters::m_tiePoints, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_tpsMapPtr, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_transfNamePtr, te::gm::GTFilter::ApplyRansacThreadEntryThreadParams::m_useDynamicIterationsNumber, te::common::AbstractFactory< GeometricTransformation, std::string >::make(), RANSACGETMAXINVALIDITERATIONS, RANSACGETMAXITERATIONS, RANSACSYNCTHREAD, and te::gm::GTParameters::reset().
Referenced by applyRansac().
|
staticprivate |
Returns the tie-points convex hull area (GTParameters::TiePoint::first).
tiePoints | Tie points. |
Definition at line 650 of file GTFilter.cpp.
References te::gm::GeometryCollection::add(), te::gm::Geometry::convexHull(), and te::gm::MultiPointType.
Referenced by applyRansacThreadEntry().