OSVR-Core
PoseEstimator_RANSAC.h
Go to the documentation of this file.
1 
11 // Copyright 2016 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 #ifndef INCLUDED_PoseEstimator_RANSAC_h_GUID_8EB5CE6C_444D_40B0_80CB_CCA27F9008CE
26 #define INCLUDED_PoseEstimator_RANSAC_h_GUID_8EB5CE6C_444D_40B0_80CB_CCA27F9008CE
27 
28 // Internal Includes
29 #include "ConfigParams.h"
30 #include "PoseEstimatorTypes.h"
31 
32 // Library/third-party includes
33 // - none
34 
35 // Standard includes
36 #include <cstddef>
37 
38 namespace osvr {
39 namespace vbtracker {
41  public:
50  bool operator()(CameraParameters const &camParams,
51  LedPtrList const &leds, BeaconStateVec const &beacons,
52  std::vector<BeaconData> &beaconDebug,
53  Eigen::Vector3d &outXlate, Eigen::Quaterniond &outQuat,
54  int skipBrightsCutoff = -1, std::size_t iterations = 5);
55 
62  bool operator()(EstimatorInOutParams const &p, LedPtrList const &leds);
63 
64  private:
65  const std::size_t m_requiredInliers = 4;
66  const std::size_t m_permittedOutliers = 0;
67  };
68 } // namespace vbtracker
69 } // namespace osvr
70 
71 #endif // INCLUDED_PoseEstimator_RANSAC_h_GUID_8EB5CE6C_444D_40B0_80CB_CCA27F9008CE
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
Definition: CameraParameters.h:41
Definition: Quaternion.h:47
Definition: PoseEstimatorTypes.h:43
Definition: PoseEstimator_RANSAC.h:40
bool operator()(CameraParameters const &camParams, LedPtrList const &leds, BeaconStateVec const &beacons, std::vector< BeaconData > &beaconDebug, Eigen::Vector3d &outXlate, Eigen::Quaterniond &outQuat, int skipBrightsCutoff=-1, std::size_t iterations=5)
Perform RANSAC-based pose estimation.
Definition: PoseEstimator_RANSAC.cpp:52