69 size_t p_size,
size_t p_pick, std::vector<size_t>& p_ind);
74 std::set<size_t> p_set,
size_t p_pick, std::vector<size_t>& p_ind);
77 template <
typename TModelFit>
79 const TModelFit& p_state,
size_t p_kernelSize,
80 const typename TModelFit::Real& p_fitnessThreshold,
81 typename TModelFit::Model& p_bestModel, std::vector<size_t>& p_inliers);
84 template <
typename TModelFit>
87 typename TModelFit::Model
model;
99 template <
typename TModelFit>
101 const TModelFit& p_state,
size_t p_kernelSize,
102 const typename TModelFit::Real& p_fitnessThreshold,
103 size_t p_populationSize,
size_t p_maxIteration,
104 typename TModelFit::Model& p_bestModel, std::vector<size_t>& p_inliers);
109 #define math_modelsearch_h
std::vector< size_t > sample
Model search implementations: RANSAC and genetic algorithm.
bool ransacSingleModel(const TModelFit &p_state, size_t p_kernelSize, const typename TModelFit::Real &p_fitnessThreshold, typename TModelFit::Model &p_bestModel, std::vector< size_t > &p_inliers)
Run the ransac algorithm searching for a single model.
std::vector< size_t > inliers
This base provides a set of functions for maths stuff.
void pickRandomIndex(size_t p_size, size_t p_pick, std::vector< size_t > &p_ind)
Select random (unique) indices from the 0..p_size sequence.
bool geneticSingleModel(const TModelFit &p_state, size_t p_kernelSize, const typename TModelFit::Real &p_fitnessThreshold, size_t p_populationSize, size_t p_maxIteration, typename TModelFit::Model &p_bestModel, std::vector< size_t > &p_inliers)
Run a generic programming version of ransac searching for a single model.
static bool compare(const TSpecies *p_a, const TSpecies *p_b)