projective_icp.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <kfusion/types.hpp>
4 
5 namespace kfusion
6 {
7  namespace cuda
8  {
10  {
11  public:
12  enum { MAX_PYRAMID_LEVELS = 4 };
13 
14  typedef std::vector<Depth> DepthPyr;
15  typedef std::vector<Cloud> PointsPyr;
16  typedef std::vector<Normals> NormalsPyr;
17 
18  ProjectiveICP();
19  virtual ~ProjectiveICP();
20 
21  float getDistThreshold() const;
22  void setDistThreshold(float distance);
23 
24  float getAngleThreshold() const;
25  void setAngleThreshold(float angle);
26 
27  void setIterationsNum(const std::vector<int>& iters);
28  int getUsedLevelsNum() const;
29 
30  virtual bool estimateTransform(Affine3f& affine, const Intr& intr, const Frame& curr, const Frame& prev);
31 
34  virtual bool estimateTransform(Affine3f& affine, const Intr& intr, const DepthPyr& dcurr, const NormalsPyr ncurr, const DepthPyr dprev, const NormalsPyr nprev);
35  virtual bool estimateTransform(Affine3f& affine, const Intr& intr, const PointsPyr& vcurr, const NormalsPyr ncurr, const PointsPyr vprev, const NormalsPyr nprev);
36 
37  //static Vec3f rodrigues2(const Mat3f& matrix);
38  private:
39  std::vector<int> iters_;
40  float angle_thres_;
41  float dist_thres_;
43 
44  struct StreamHelper;
45  cv::Ptr<StreamHelper> shelp_;
46  };
47  }
48 }
kfusion::cuda::ProjectiveICP::setDistThreshold
void setDistThreshold(float distance)
Definition: projective_icp.cpp:83
kfusion::cuda::ProjectiveICP::setIterationsNum
void setIterationsNum(const std::vector< int > &iters)
Definition: projective_icp.cpp:92
kfusion::cuda::ProjectiveICP::MAX_PYRAMID_LEVELS
@ MAX_PYRAMID_LEVELS
Definition: projective_icp.hpp:12
kfusion::cuda::ProjectiveICP
Definition: projective_icp.hpp:9
kfusion::cuda::ProjectiveICP::getDistThreshold
float getDistThreshold() const
Definition: projective_icp.cpp:80
types.hpp
kfusion::Affine3f
cv::Affine3f Affine3f
Definition: types.hpp:18
kfusion::cuda::ProjectiveICP::NormalsPyr
std::vector< Normals > NormalsPyr
Definition: projective_icp.hpp:16
kfusion::cuda::ProjectiveICP::getAngleThreshold
float getAngleThreshold() const
Definition: projective_icp.cpp:86
kfusion::cuda::ProjectiveICP::DepthPyr
std::vector< Depth > DepthPyr
Definition: projective_icp.hpp:14
kfusion
Utility.
Definition: capture.hpp:8
kfusion::cuda::ProjectiveICP::iters_
std::vector< int > iters_
Definition: projective_icp.hpp:39
kfusion::cuda::ProjectiveICP::PointsPyr
std::vector< Cloud > PointsPyr
Definition: projective_icp.hpp:15
kfusion::cuda::Frame
Definition: types.hpp:91
kfusion::cuda::ProjectiveICP::angle_thres_
float angle_thres_
Definition: projective_icp.hpp:40
kfusion::cuda::ProjectiveICP::estimateTransform
virtual bool estimateTransform(Affine3f &affine, const Intr &intr, const Frame &curr, const Frame &prev)
Definition: projective_icp.cpp:110
kfusion::cuda::ProjectiveICP::buffer_
DeviceArray2D< float > buffer_
Definition: projective_icp.hpp:42
kfusion::cuda::ProjectiveICP::getUsedLevelsNum
int getUsedLevelsNum() const
Definition: projective_icp.cpp:103
kfusion::cuda::ProjectiveICP::ProjectiveICP
ProjectiveICP()
ProjectiveICP.
Definition: projective_icp.cpp:68
kfusion::cuda::ProjectiveICP::shelp_
cv::Ptr< StreamHelper > shelp_
Definition: projective_icp.hpp:44
kfusion::cuda::ProjectiveICP::StreamHelper
ProjectiveICP::StreamHelper.
Definition: projective_icp.cpp:28
kfusion::cuda::ProjectiveICP::~ProjectiveICP
virtual ~ProjectiveICP()
Definition: projective_icp.cpp:78
kfusion::cuda::ProjectiveICP::dist_thres_
float dist_thres_
Definition: projective_icp.hpp:41
kfusion::cuda::DeviceArray2D< float >
kfusion::Intr
Definition: types.hpp:20
kfusion::cuda::ProjectiveICP::setAngleThreshold
void setAngleThreshold(float angle)
Definition: projective_icp.cpp:89


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:24