1 #ifndef RANSACSHAPEDETECTOR_HEADER
2 #define RANSACSHAPEDETECTOR_HEADER
25 static constexpr
auto invalidRuntime =
33 m_fitting(LS_FITTING),
35 m_maxruntime(invalidRuntime)
72 return m_autoAcceptSize;
95 std::pair<size_t, float>* score)
const;
98 CandidateFailureProbability(
float candidateSize,
100 float drawnCandidates,
104 std::pow(1.f - candidateSize / (numberOfPoints * levels * (1 << (m_reqSamples - 1))),
110 UpdateAcceptedFailureProbability(
float currentFailureProbability,
size_t numTries)
const
113 if (currentFailureProbability > 1.f)
115 currentFailureProbability = 1.f;
117 return currentFailureProbability;
119 template <
class ScoreVisitorT>
123 ScoreVisitorT& scoreVisitor,
127 size_t* drawnCandidates,
129 float* bestExpectedValue,
130 CandidatesType* candidates)
const;
131 template <
class ScoreVisitorT>
132 bool FindBestCandidate(CandidatesType& candidates,
135 ScoreVisitorT& scoreVisitor,
137 size_t drawnCandidates,
141 float* maxForgottenCandidate,
142 float* candidateFailProb)
const;
143 size_t StatBucket(
float score)
const;
144 void UpdateLevelWeights(
float factor,
149 ConstructorsType m_constructors;
151 size_t m_maxCandTries;
153 size_t m_autoAcceptSize;