Open3D (C++ API)
0.17.0
|
Data Structures | |
class | ControlGrid |
struct | SLACOptimizerParams |
struct | SLACDebugOption |
Typedefs | |
using | PoseGraph = open3d::pipelines::registration::PoseGraph |
Functions | |
void | FillInRigidAlignmentTerm (Tensor &AtA, Tensor &Atb, Tensor &residual, const std::vector< std::string > &fnames, const PoseGraph &pose_graph, const SLACOptimizerParams ¶ms, const SLACDebugOption &debug_option) |
void | FillInSLACAlignmentTerm (Tensor &AtA, Tensor &Atb, Tensor &residual, ControlGrid &ctr_grid, const std::vector< std::string > &fnames, const PoseGraph &pose_graph, const SLACOptimizerParams ¶ms, const SLACDebugOption &debug_option) |
void | FillInSLACRegularizerTerm (Tensor &AtA, Tensor &Atb, Tensor &residual, ControlGrid &ctr_grid, int n_frags, const SLACOptimizerParams ¶ms, const SLACDebugOption &debug_option) |
void | SaveCorrespondencesForPointClouds (const std::vector< std::string > &fnames_processed, const PoseGraph &fragment_pose_graph, const SLACOptimizerParams ¶ms=SLACOptimizerParams(), const SLACDebugOption &debug_option=SLACDebugOption()) |
Read pose graph containing loop closures and odometry to compute putative correspondences between pairs of pointclouds. More... | |
std::pair< PoseGraph, ControlGrid > | RunSLACOptimizerForFragments (const std::vector< std::string > &fragment_filenames, const PoseGraph &fragment_pose_graph, const SLACOptimizerParams ¶ms=SLACOptimizerParams(), const SLACDebugOption &debug_option=SLACDebugOption()) |
Simultaneous Localization and Calibration: Self-Calibration of Consumer Depth Cameras, CVPR 2014 Qian-Yi Zhou and Vladlen Koltun Estimate a shared control grid for all fragments for scene reconstruction, implemented in https://github.com/qianyizh/ElasticReconstruction. More... | |
PoseGraph | RunRigidOptimizerForFragments (const std::vector< std::string > &fragment_filenames, const PoseGraph &fragment_pose_graph, const SLACOptimizerParams ¶ms=SLACOptimizerParams(), const SLACDebugOption &debug_option=SLACDebugOption()) |
Extended ICP to simultaneously align multiple point clouds with dense pairwise point-to-plane distances. More... | |
void | VisualizePointCloudCorrespondences (const t::geometry::PointCloud &tpcd_i, const t::geometry::PointCloud &tpcd_j, const core::Tensor correspondences, const core::Tensor &T_ij) |
Visualize pairs with correspondences. More... | |
void | VisualizePointCloudEmbedding (t::geometry::PointCloud &tpcd_param, ControlGrid &ctr_grid, bool show_lines) |
void | VisualizePointCloudDeformation (const geometry::PointCloud &tpcd_param, ControlGrid &ctr_grid) |
void | VisualizeGridDeformation (ControlGrid &cgrid) |
void open3d::t::pipelines::slac::FillInRigidAlignmentTerm | ( | Tensor & | AtA, |
Tensor & | Atb, | ||
Tensor & | residual, | ||
const std::vector< std::string > & | fnames, | ||
const PoseGraph & | pose_graph, | ||
const SLACOptimizerParams & | params, | ||
const SLACDebugOption & | debug_option | ||
) |
void open3d::t::pipelines::slac::FillInSLACAlignmentTerm | ( | Tensor & | AtA, |
Tensor & | Atb, | ||
Tensor & | residual, | ||
ControlGrid & | ctr_grid, | ||
const std::vector< std::string > & | fnames, | ||
const PoseGraph & | pose_graph, | ||
const SLACOptimizerParams & | params, | ||
const SLACDebugOption & | debug_option | ||
) |
void open3d::t::pipelines::slac::FillInSLACRegularizerTerm | ( | Tensor & | AtA, |
Tensor & | Atb, | ||
Tensor & | residual, | ||
ControlGrid & | ctr_grid, | ||
int | n_frags, | ||
const SLACOptimizerParams & | params, | ||
const SLACDebugOption & | debug_option | ||
) |
PoseGraph open3d::t::pipelines::slac::RunRigidOptimizerForFragments | ( | const std::vector< std::string > & | fragment_filenames, |
const PoseGraph & | fragment_pose_graph, | ||
const SLACOptimizerParams & | params = SLACOptimizerParams() , |
||
const SLACDebugOption & | debug_option = SLACDebugOption() |
||
) |
Extended ICP to simultaneously align multiple point clouds with dense pairwise point-to-plane distances.
fragment_fnames | Vector of filenames for pointcloud fragments. |
fragment_pose_graph | Legacy PoseGraph for pointcloud fragments. |
params | Parameters to tune in rigid optimization. |
debug_option | Debug options. |
std::pair< PoseGraph, ControlGrid > open3d::t::pipelines::slac::RunSLACOptimizerForFragments | ( | const std::vector< std::string > & | fragment_filenames, |
const PoseGraph & | fragment_pose_graph, | ||
const SLACOptimizerParams & | params = SLACOptimizerParams() , |
||
const SLACDebugOption & | debug_option = SLACDebugOption() |
||
) |
Simultaneous Localization and Calibration: Self-Calibration of Consumer Depth Cameras, CVPR 2014 Qian-Yi Zhou and Vladlen Koltun Estimate a shared control grid for all fragments for scene reconstruction, implemented in https://github.com/qianyizh/ElasticReconstruction.
fragment_filenames | Vector of filenames for pointcloud fragments. |
fragment_pose_graph | Legacy PoseGraph for pointcloud fragments. |
params | Parameters to tune in SLAC. |
debug_option | Debug options. |
void open3d::t::pipelines::slac::SaveCorrespondencesForPointClouds | ( | const std::vector< std::string > & | fnames_processed, |
const PoseGraph & | fragment_pose_graph, | ||
const SLACOptimizerParams & | params = SLACOptimizerParams() , |
||
const SLACDebugOption & | debug_option = SLACDebugOption() |
||
) |
Read pose graph containing loop closures and odometry to compute putative correspondences between pairs of pointclouds.
fnames_processed | Vector of filenames for processed pointcloud fragments. |
fragment_pose_graph | Legacy PoseGraph for pointcloud fragments. |
params | Parameters to tune in finding correspondences. |
debug_option | SLACDebugOption containing the debug options. |
void open3d::t::pipelines::slac::VisualizeGridDeformation | ( | ControlGrid & | cgrid | ) |
void open3d::t::pipelines::slac::VisualizePointCloudCorrespondences | ( | const t::geometry::PointCloud & | tpcd_i, |
const t::geometry::PointCloud & | tpcd_j, | ||
const core::Tensor | correspondences, | ||
const core::Tensor & | T_ij | ||
) |
Visualize pairs with correspondences.
tpcd_i,source | point cloud. |
tpcd_j,target | point cloud. |
correspondences | Putative correspondence between tcpd_i and tpcd_j. |
T_ij | Transformation from tpcd_i to tpcd_j. Use T_j.Inverse() @ T_i (node transformation in a pose graph) to check global correspondences , and T_ij (edge transformation) to check pairwise correspondences. |
void open3d::t::pipelines::slac::VisualizePointCloudDeformation | ( | const geometry::PointCloud & | tpcd_param, |
ControlGrid & | ctr_grid | ||
) |
void open3d::t::pipelines::slac::VisualizePointCloudEmbedding | ( | t::geometry::PointCloud & | tpcd_param, |
ControlGrid & | ctr_grid, | ||
bool | show_lines | ||
) |