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 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... | |
2D Geometric transformation tie-points filter (outliers remotion).
Definition at line 52 of file GTFilter.h.
| typedef unsigned long long int te::gm::GTFilter::RansacItCounterT |
RANSAC iterations 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 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.
| 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. Use 0-zero to let this number be automatically found. |
| 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 651 of file GTFilter.cpp.
References te::gm::GeometryCollection::add(), te::gm::Geometry::convexHull(), and te::gm::MultiPointType.
Referenced by applyRansacThreadEntry().