Open3D (C++ API)
Data Structures | Typedefs | Enumerations | Functions
open3d::registration Namespace Reference

Data Structures

class  CorrespondenceChecker
 Base class that checks if two (small) point clouds can be aligned. More...
 
class  CorrespondenceCheckerBasedOnDistance
 Check if two aligned point clouds are close. More...
 
class  CorrespondenceCheckerBasedOnEdgeLength
 Check if two point clouds build the polygons with similar edge lengths. More...
 
class  CorrespondenceCheckerBasedOnNormal
 Class to check if two aligned point clouds have similar normals. More...
 
class  FastGlobalRegistrationOption
 Options for FastGlobalRegistration. More...
 
class  Feature
 Class to store featrues for registration. More...
 
class  GlobalOptimizationConvergenceCriteria
 Convergence criteria of GlobalOptimization. More...
 
class  GlobalOptimizationGaussNewton
 Global optimization with Gauss-Newton algorithm. More...
 
class  GlobalOptimizationLevenbergMarquardt
 Global optimization with Levenberg-Marquardt algorithm. More...
 
class  GlobalOptimizationMethod
 Base class for global optimization method. More...
 
class  GlobalOptimizationOption
 Option for GlobalOptimization. More...
 
class  ICPConvergenceCriteria
 Class that defines the convergence criteria of ICP. More...
 
class  PoseGraph
 Data structure defining the pose graph. More...
 
class  PoseGraphEdge
 Edge of PoseGraph. More...
 
class  PoseGraphNode
 Node of PoseGraph. More...
 
class  RANSACConvergenceCriteria
 Class that defines the convergence criteria of RANSAC. More...
 
class  RegistrationResult
 
class  TransformationEstimation
 
class  TransformationEstimationPointToPlane
 
class  TransformationEstimationPointToPoint
 

Typedefs

typedef std::vector< Eigen::Vector2i > CorrespondenceSet
 

Enumerations

enum  TransformationEstimationType { TransformationEstimationType::Unspecified = 0, TransformationEstimationType::PointToPoint = 1, TransformationEstimationType::PointToPlane = 2, TransformationEstimationType::ColoredICP = 3 }
 

Functions

RegistrationResult RegistrationColoredICP (const geometry::PointCloud &source, const geometry::PointCloud &target, double max_distance, const Eigen::Matrix4d &init=Eigen::Matrix4d::Identity(), const ICPConvergenceCriteria &criteria=ICPConvergenceCriteria(), double lambda_geometric=0.968)
 Function for Colored ICP registration. More...
 
RegistrationResult FastGlobalRegistration (const geometry::PointCloud &source, const geometry::PointCloud &target, const Feature &source_feature, const Feature &target_feature, const FastGlobalRegistrationOption &option)
 
std::shared_ptr< FeatureComputeFPFHFeature (const geometry::PointCloud &input, const geometry::KDTreeSearchParam &search_param)
 
std::shared_ptr< PoseGraphCreatePoseGraphWithoutInvalidEdges (const PoseGraph &pose_graph, const GlobalOptimizationOption &option)
 
void GlobalOptimization (PoseGraph &pose_graph, const GlobalOptimizationMethod &method, const GlobalOptimizationConvergenceCriteria &criteria, const GlobalOptimizationOption &option)
 
RegistrationResult EvaluateRegistration (const geometry::PointCloud &source, const geometry::PointCloud &target, double max_correspondence_distance, const Eigen::Matrix4d &transformation=Eigen::Matrix4d::Identity())
 Function for evaluating registration between point clouds. More...
 
RegistrationResult RegistrationICP (const geometry::PointCloud &source, const geometry::PointCloud &target, double max_correspondence_distance, const Eigen::Matrix4d &init=Eigen::Matrix4d::Identity(), const TransformationEstimation &estimation=TransformationEstimationPointToPoint(false), const ICPConvergenceCriteria &criteria=ICPConvergenceCriteria())
 Functions for ICP registration. More...
 
RegistrationResult RegistrationRANSACBasedOnCorrespondence (const geometry::PointCloud &source, const geometry::PointCloud &target, const CorrespondenceSet &corres, double max_correspondence_distance, const TransformationEstimation &estimation=TransformationEstimationPointToPoint(false), int ransac_n=6, const RANSACConvergenceCriteria &criteria=RANSACConvergenceCriteria())
 Function for global RANSAC registration based on a given set of correspondences. More...
 
RegistrationResult RegistrationRANSACBasedOnFeatureMatching (const geometry::PointCloud &source, const geometry::PointCloud &target, const Feature &source_feature, const Feature &target_feature, double max_correspondence_distance, const TransformationEstimation &estimation=TransformationEstimationPointToPoint(false), int ransac_n=4, const std::vector< std::reference_wrapper< const CorrespondenceChecker >> &checkers={}, const RANSACConvergenceCriteria &criteria=RANSACConvergenceCriteria())
 Function for global RANSAC registration based on feature matching. More...
 
Eigen::Matrix6d GetInformationMatrixFromPointClouds (const geometry::PointCloud &source, const geometry::PointCloud &target, double max_correspondence_distance, const Eigen::Matrix4d &transformation)
 

Typedef Documentation

◆ CorrespondenceSet

typedef std::vector<Eigen::Vector2i> open3d::registration::CorrespondenceSet

Enumeration Type Documentation

◆ TransformationEstimationType

Enumerator
Unspecified 
PointToPoint 
PointToPlane 
ColoredICP 

Function Documentation

◆ ComputeFPFHFeature()

std::shared_ptr< Feature > open3d::registration::ComputeFPFHFeature ( const geometry::PointCloud input,
const geometry::KDTreeSearchParam search_param = geometry::KDTreeSearchParamKNN() 
)

Function to compute FPFH feature for a point cloud.

Parameters
inputThe Input point cloud.
search_paramKDTree KNN search parameter.

◆ CreatePoseGraphWithoutInvalidEdges()

std::shared_ptr< PoseGraph > open3d::registration::CreatePoseGraphWithoutInvalidEdges ( const PoseGraph pose_graph,
const GlobalOptimizationOption option 
)

Function to prune out uncertain edges having confidence_ < .edge_prune_threshold_

◆ EvaluateRegistration()

RegistrationResult open3d::registration::EvaluateRegistration ( const geometry::PointCloud source,
const geometry::PointCloud target,
double  max_correspondence_distance,
const Eigen::Matrix4d &  transformation = Eigen::Matrix4d::Identity() 
)

Function for evaluating registration between point clouds.

Parameters
sourceThe source point cloud.
targetThe target point cloud.
max_correspondence_distanceMaximum correspondence points-pair distance.
transformationThe 4x4 transformation matrix to transform source to target. Default value: array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]).

◆ FastGlobalRegistration()

RegistrationResult open3d::registration::FastGlobalRegistration ( const geometry::PointCloud source,
const geometry::PointCloud target,
const Feature source_feature,
const Feature target_feature,
const FastGlobalRegistrationOption option 
)

◆ GetInformationMatrixFromPointClouds()

Eigen::Matrix6d open3d::registration::GetInformationMatrixFromPointClouds ( const geometry::PointCloud source,
const geometry::PointCloud target,
double  max_correspondence_distance,
const Eigen::Matrix4d &  transformation 
)
Parameters
sourceThe source point cloud.
targetThe target point cloud.
max_correspondence_distanceMaximum correspondence points-pair distance.
transformationThe 4x4 transformation matrix to transform source to target.

◆ GlobalOptimization()

void open3d::registration::GlobalOptimization ( PoseGraph pose_graph,
const GlobalOptimizationMethod method = GlobalOptimizationLevenbergMarquardt(),
const GlobalOptimizationConvergenceCriteria criteria = GlobalOptimizationConvergenceCriteria(),
const GlobalOptimizationOption option = GlobalOptimizationOption() 
)

Function to optimize a PoseGraph Reference: [Kümmerle et al 2011] R Kümmerle, G. Grisetti, H. Strasdat, K. Konolige, W. Burgard g2o: A General Framework for Graph Optimization, ICRA 2011 [Choi et al 2015] S. Choi, Q.-Y. Zhou, V. Koltun, Robust Reconstruction of Indoor Scenes, CVPR 2015 [M. Lourakis 2009] M. Lourakis, SBA: A Software Package for Generic Sparse Bundle Adjustment, Transactions on Mathematical Software, 2009

◆ RegistrationColoredICP()

RegistrationResult open3d::registration::RegistrationColoredICP ( const geometry::PointCloud source,
const geometry::PointCloud target,
double  max_distance,
const Eigen::Matrix4d &  init = Eigen::Matrix4d::Identity(),
const ICPConvergenceCriteria criteria = ICPConvergenceCriteria(),
double  lambda_geometric = 0.968 
)

Function for Colored ICP registration.

This is implementation of following paper J. Park, Q.-Y. Zhou, V. Koltun, Colored Point Cloud Registration Revisited, ICCV 2017.

Parameters
sourceThe source point cloud.
targetThe target point cloud.
max_distanceMaximum correspondence points-pair distance.
initInitial transformation estimation. Default value: array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]).
criteriaConvergence criteria.
lambda_geometriclambda_geometric value.

◆ RegistrationICP()

RegistrationResult open3d::registration::RegistrationICP ( const geometry::PointCloud source,
const geometry::PointCloud target,
double  max_correspondence_distance,
const Eigen::Matrix4d &  init = Eigen::Matrix4d::Identity(),
const TransformationEstimation estimation = TransformationEstimationPointToPoint(false),
const ICPConvergenceCriteria criteria = ICPConvergenceCriteria() 
)

Functions for ICP registration.

Parameters
sourceThe source point cloud.
targetThe target point cloud.
max_correspondence_distanceMaximum correspondence points-pair distance.
initInitial transformation estimation. Default value: array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]])
estimationEstimation method.
criteriaConvergence criteria.

◆ RegistrationRANSACBasedOnCorrespondence()

RegistrationResult open3d::registration::RegistrationRANSACBasedOnCorrespondence ( const geometry::PointCloud source,
const geometry::PointCloud target,
const CorrespondenceSet corres,
double  max_correspondence_distance,
const TransformationEstimation estimation = TransformationEstimationPointToPoint(false),
int  ransac_n = 6,
const RANSACConvergenceCriteria criteria = RANSACConvergenceCriteria() 
)

Function for global RANSAC registration based on a given set of correspondences.

Parameters
sourceThe source point cloud.
targetThe target point cloud.
corresChecker class to check if two point clouds can be aligned.
max_correspondence_distanceMaximum correspondence points-pair distance.
estimationEstimation method.
ransac_nFit ransac with ransac_n correspondences.
criteriaConvergence criteria.

◆ RegistrationRANSACBasedOnFeatureMatching()

RegistrationResult open3d::registration::RegistrationRANSACBasedOnFeatureMatching ( const geometry::PointCloud source,
const geometry::PointCloud target,
const Feature source_feature,
const Feature target_feature,
double  max_correspondence_distance,
const TransformationEstimation estimation = TransformationEstimationPointToPoint(false),
int  ransac_n = 4,
const std::vector< std::reference_wrapper< const CorrespondenceChecker >> &  checkers = {},
const RANSACConvergenceCriteria criteria = RANSACConvergenceCriteria() 
)

Function for global RANSAC registration based on feature matching.

Parameters
sourceThe source point cloud.
targetThe target point cloud.
source_featureSource point cloud feature.
target_featureTarget point cloud feature.
max_correspondence_distanceMaximum correspondence points-pair distance.
ransac_nFit ransac with ransac_n correspondences.
checkersCorrespondence checker.
criteriaConvergence criteria.