26#ifndef __TERRALIB_GEOMETRY_INTERNAL_GTFILTER_H
27#define __TERRALIB_GEOMETRY_INTERNAL_GTFILTER_H
97 const double allowedMaxDirectMapError,
98 const double allowedMaxInverseMapError,
100 const bool enableMultiThread,
102 const std::vector< double >& tiePointsWeights,
103 std::vector< te::gm::GTParameters::TiePoint >& outTiePoints,
104 std::unique_ptr< GeometricTransformation >& outTransf
178 const std::vector<GTParameters::TiePoint>& tiePoints,
179 double& area1,
double& area2 );
196 const unsigned int goodTPNumber,
197 const unsigned int totalTPNumber,
198 const unsigned int modelRequiredTPNumber );
2D Geometric transformation parameters.
Parameters used by the GTFilter::applyRansacThreadEntry method.
RansacSetData * m_bestSetDataPtr
ApplyRansacThreadEntryThreadParams(const ApplyRansacThreadEntryThreadParams &other)
double * m_maxFoundGlobalItDMapErrorPtr
RansacIntegerCounterT * m_globalIterationsCounterPtr
RansacIntegerCounterT * m_dynamicMaxConsInvalidIterationsPtr
bool m_useDynamicIterationsNumber
RansacIntegerCounterT * m_globalConsInvalidIterationsCounterPtr
bool * m_keepRunningFlagPtr
RansacIntegerCounterT m_procsNumber
RansacIntegerCounterT * m_dynamicMaxConsLowQualityIterationsPtr
GTParameters const * m_inputGTParamsPtr
std::map< double, GTParameters::TiePoint > const * m_tpsMapPtr
A map from accumulated probabilities (normalized between 0 and 1) to tie-points data.
double * m_maxFoundGlobalItIMapErrorPtr
~ApplyRansacThreadEntryThreadParams()
RANSACAreaRestrictionType m_areaRestT
RansacIntegerCounterT * m_dynamicMaxIterationsPtr
double m_allowedMaxInverseMapError
RansacIntegerCounterT * m_globalConsecutiveLowQualitySetsCounterPtr
ApplyRansacThreadEntryThreadParams()
double m_allowedMaxDirectMapError
const ApplyRansacThreadEntryThreadParams & operator=(const ApplyRansacThreadEntryThreadParams &other)
Parameters used by the GTFilter::applyRansacThreadEntry method.
double m_maxInverseMapError
double m_maxDirectMapError
std::vector< te::gm::GTParameters::TiePoint > m_tiePoins
GTParameters m_transformationParams
static void applyRansacThreadEntry(te::gm::GTFilter::ApplyRansacThreadEntryThreadParams *paramsPtr)
Surf locator thread entry.
static RansacIntegerCounterT getExcpectedIterationsNumber(const unsigned int goodTPNumber, const unsigned int totalTPNumber, const unsigned int modelRequiredTPNumber)
Returns the number of expected iterations to be performed.
bool applyRansac(const std::string &transfName, const GTParameters &inputParams, const double allowedMaxDirectMapError, const double allowedMaxInverseMapError, const RansacIntegerCounterT &maxIterations, const bool enableMultiThread, const RANSACAreaRestrictionType areaRestT, const std::vector< double > &tiePointsWeights, std::vector< te::gm::GTParameters::TiePoint > &outTiePoints, std::unique_ptr< GeometricTransformation > &outTransf)
Apply a RANSAC based outliers remotion strategy.
unsigned long int RansacIntegerCounterT
RANSAC integer counter type.
GTFilter()
Default constructor.
static void getTPsConvexHullArea(const std::vector< GTParameters::TiePoint > &tiePoints, double &area1, double &area2)
Returns the tie-points convex hull area.
long double RansacFloatCounterT
RANSAC floating point counter type.
RANSACAreaRestrictionType
2D Geometric transformation parameters.
Namespace for the Vector Geometry module of TerraLib.
Configuration flags for the Vector Geometry Model of TerraLib.
#define TEGEOMEXPORT
You can use this macro in order to export/import classes and functions from this module.