RegistrationVis.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2010-2016, Mathieu Labbe - IntRoLab - Universite de Sherbrooke
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are met:
7  * Redistributions of source code must retain the above copyright
8  notice, this list of conditions and the following disclaimer.
9  * Redistributions in binary form must reproduce the above copyright
10  notice, this list of conditions and the following disclaimer in the
11  documentation and/or other materials provided with the distribution.
12  * Neither the name of the Universite de Sherbrooke nor the
13  names of its contributors may be used to endorse or promote products
14  derived from this software without specific prior written permission.
15 
16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
20 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27 
28 #ifndef REGISTRATIONVIS_H_
29 #define REGISTRATIONVIS_H_
30 
31 #include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines
32 
34 #include <rtabmap/core/Signature.h>
35 
36 namespace rtabmap {
37 
38 class Feature2D;
39 
40 #ifdef RTABMAP_PYTHON
41 class PyMatcher;
42 #endif
43 
44 // Visual registration
45 class RTABMAP_CORE_EXPORT RegistrationVis : public Registration
46 {
47 public:
48  // take ownership of child
49  RegistrationVis(const ParametersMap & parameters = ParametersMap(), Registration * child = 0);
50  virtual ~RegistrationVis();
51 
52  virtual void parseParameters(const ParametersMap & parameters);
53 
54  float getInlierDistance() const {return _inlierDistance;}
55  int getIterations() const {return _iterations;}
56  int getMinInliers() const {return _minInliers;}
57  int getNNType() const {return _nnType;}
58  float getNNDR() const {return _nndr;}
59  int getEstimationType() const {return _estimationType;}
60 
61  const Feature2D * getDetector() const {return _detectorFrom;}
62 
63 protected:
64  virtual Transform computeTransformationImpl(
65  Signature & from,
66  Signature & to,
67  Transform guess,
68  RegistrationInfo & info) const;
69 
70  virtual bool isImageRequiredImpl() const {return true;}
71  virtual bool canUseGuessImpl() const {return _correspondencesApproach != 0 || _guessWinSize>0;}
72  virtual int getMinVisualCorrespondencesImpl() const {return _minInliers;}
73 
74 private:
83  int _PnPFlags;
86  float _PnPMaxVar;
88  unsigned int _multiSamplingPolicy;
92  float _flowEps;
94  float _nndr;
95  int _nnType;
105 
108 
111 
112 #ifdef RTABMAP_PYTHON
113  PyMatcher * _pyMatcher;
114 #endif
115 };
116 
117 }
118 
119 #endif /* REGISTRATION_H_ */
rtabmap::RegistrationVis::getInlierDistance
float getInlierDistance() const
Definition: RegistrationVis.h:54
rtabmap::RegistrationVis::_nnType
int _nnType
Definition: RegistrationVis.h:95
rtabmap::RegistrationVis::getEstimationType
int getEstimationType() const
Definition: RegistrationVis.h:59
Registration.h
rtabmap::Registration
Definition: Registration.h:39
rtabmap::RegistrationInfo
Definition: RegistrationInfo.h:34
rtabmap::RegistrationVis::getIterations
int getIterations() const
Definition: RegistrationVis.h:55
rtabmap::RegistrationVis::getNNType
int getNNType() const
Definition: RegistrationVis.h:57
rtabmap::RegistrationVis::canUseGuessImpl
virtual bool canUseGuessImpl() const
Definition: RegistrationVis.h:71
rtabmap::RegistrationVis::_gmsThresholdFactor
double _gmsThresholdFactor
Definition: RegistrationVis.h:98
rtabmap::RegistrationVis::_inlierDistance
float _inlierDistance
Definition: RegistrationVis.h:76
rtabmap::ParametersMap
std::map< std::string, std::string > ParametersMap
Definition: Parameters.h:43
rtabmap::RegistrationVis::_flowWinSize
int _flowWinSize
Definition: RegistrationVis.h:90
rtabmap::RegistrationVis::getNNDR
float getNNDR() const
Definition: RegistrationVis.h:58
rtabmap::RegistrationVis::_nndr
float _nndr
Definition: RegistrationVis.h:94
rtabmap::RegistrationVis::_PnPRefineIterations
int _PnPRefineIterations
Definition: RegistrationVis.h:84
rtabmap::RegistrationVis::_flowIterations
int _flowIterations
Definition: RegistrationVis.h:91
rtabmap::RegistrationVis::getMinVisualCorrespondencesImpl
virtual int getMinVisualCorrespondencesImpl() const
Definition: RegistrationVis.h:72
rtabmap::RegistrationVis::_featureParameters
ParametersMap _featureParameters
Definition: RegistrationVis.h:106
rtabmap::RegistrationVis::_PnPReprojError
float _PnPReprojError
Definition: RegistrationVis.h:82
rtabmap::RegistrationVis::_PnPMaxVar
float _PnPMaxVar
Definition: RegistrationVis.h:86
Signature.h
rtabmap::RegistrationVis
Definition: RegistrationVis.h:45
rtabmap::RegistrationVis::getMinInliers
int getMinInliers() const
Definition: RegistrationVis.h:56
rtabmap::RegistrationVis::_gmsWithScale
bool _gmsWithScale
Definition: RegistrationVis.h:97
rtabmap::Feature2D
Definition: Features2d.h:106
rtabmap::RegistrationVis::_flowMaxLevel
int _flowMaxLevel
Definition: RegistrationVis.h:93
rtabmap::RegistrationVis::_guessWinSize
int _guessWinSize
Definition: RegistrationVis.h:99
rtabmap::RegistrationVis::_estimationType
int _estimationType
Definition: RegistrationVis.h:80
rtabmap::RegistrationVis::_bundleParameters
ParametersMap _bundleParameters
Definition: RegistrationVis.h:107
rtabmap::RegistrationVis::_detectorTo
Feature2D * _detectorTo
Definition: RegistrationVis.h:110
rtabmap::RegistrationVis::_flowEps
float _flowEps
Definition: RegistrationVis.h:92
rtabmap::RegistrationVis::getDetector
const Feature2D * getDetector() const
Definition: RegistrationVis.h:61
rtabmap::Transform
Definition: Transform.h:41
rtabmap::RegistrationVis::_depthAsMask
bool _depthAsMask
Definition: RegistrationVis.h:102
rtabmap::RegistrationVis::_forwardEstimateOnly
bool _forwardEstimateOnly
Definition: RegistrationVis.h:81
rtabmap::RegistrationVis::_PnPVarMedianRatio
int _PnPVarMedianRatio
Definition: RegistrationVis.h:85
rtabmap::RegistrationVis::_correspondencesApproach
int _correspondencesApproach
Definition: RegistrationVis.h:89
rtabmap::RegistrationVis::isImageRequiredImpl
virtual bool isImageRequiredImpl() const
Definition: RegistrationVis.h:70
rtabmap::RegistrationVis::_maxInliersMeanDistance
float _maxInliersMeanDistance
Definition: RegistrationVis.h:104
rtabmap::RegistrationVis::_epipolarGeometryVar
float _epipolarGeometryVar
Definition: RegistrationVis.h:79
rtabmap::RegistrationVis::_minInliersDistributionThr
float _minInliersDistributionThr
Definition: RegistrationVis.h:103
rtabmap::RegistrationVis::_gmsWithRotation
bool _gmsWithRotation
Definition: RegistrationVis.h:96
rtabmap::RegistrationVis::_guessMatchToProjection
bool _guessMatchToProjection
Definition: RegistrationVis.h:100
rtabmap::RegistrationVis::_refineIterations
int _refineIterations
Definition: RegistrationVis.h:78
rtabmap::RegistrationVis::_detectorFrom
Feature2D * _detectorFrom
Definition: RegistrationVis.h:109
rtabmap
Definition: CameraARCore.cpp:35
rtabmap::RegistrationVis::_PnPFlags
int _PnPFlags
Definition: RegistrationVis.h:83
rtabmap::PyMatcher
Definition: PyMatcher.h:19
rtabmap::RegistrationVis::_PnPSplitLinearCovarianceComponents
bool _PnPSplitLinearCovarianceComponents
Definition: RegistrationVis.h:87
rtabmap::RegistrationVis::_minInliers
int _minInliers
Definition: RegistrationVis.h:75
rtabmap::Signature
Definition: Signature.h:48
rtabmap::RegistrationVis::_multiSamplingPolicy
unsigned int _multiSamplingPolicy
Definition: RegistrationVis.h:88
rtabmap::RegistrationVis::_iterations
int _iterations
Definition: RegistrationVis.h:77
rtabmap::RegistrationVis::_bundleAdjustment
int _bundleAdjustment
Definition: RegistrationVis.h:101


rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:15