supereight
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
icp.hpp File Reference
#include <Eigen/Geometry>
#include <se/common/image_utils.hpp>
#include <se/common/math_util.hpp>
#include <se/image/image.hpp>
#include "impl/icp_impl.hpp"
Include dependency graph for icp.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  se::icp::Data
 

Namespaces

namespace  se
 Helper wrapper to allocate and de-allocate octants in the octree.
 
namespace  se::icp
 

Enumerations

enum  se::icp::TrackingResult {
  se::icp::ResultSuccess = 1 , se::icp::ResultUnknown = 0 , se::icp::ResultInvalidInputNormal = -1 , se::icp::ResultProjectionOutside = -2 ,
  se::icp::ResultInvalidRefNormal = -3 , se::icp::ResultDistThreshold = -4 , se::icp::ResultNormalThreshold = -5
}
 

Functions

Eigen::Matrix< float, 6, 6 > se::icp::makeJTJ (const Eigen::Matrix< float, 1, 21 > &v)
 
Eigen::Matrix< float, 6, 1 > se::icp::solve (const Eigen::Matrix< float, 1, 27 > &vals)
 
void se::icp::newReduce (const int block_idx, float *output_data, const Eigen::Vector2i &output_res, Data *J_data, const Eigen::Vector2i &J_res)
 
void se::icp::reduceKernel (float *output_data, const Eigen::Vector2i &output_res, Data *J_data, const Eigen::Vector2i &J_res)
 
template<typename ProjectF >
void se::icp::trackKernel (Data *output_data, const Image< Eigen::Vector3f > &input_point_cloud_S, const Image< Eigen::Vector3f > &input_normals_S, const Image< Eigen::Vector3f > &surface_point_cloud_M_ref, const Image< Eigen::Vector3f > &surface_normals_M_ref, const Eigen::Isometry3f &T_WS, const Eigen::Isometry3f &T_WS_ref, const ProjectF project, const float dist_threshold, const float normal_threshold)
 ProjectF is functor with the following declaration, returning whether the projection of point_S succeeded:
 
bool se::icp::updatePoseKernel (Eigen::Isometry3f &T_WS, const float *reduction_output_data, const float icp_threshold)
 
bool se::icp::checkPoseKernel (Eigen::Isometry3f &T_WS, Eigen::Isometry3f &previous_T_WS, const float *reduction_output_data, const Eigen::Vector2i &reduction_output_res, const float track_threshold)