Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
open3d::t::pipelines::slac Namespace Reference

Data Structures

class  ControlGrid
struct  SLACOptimizerParams
struct  SLACDebugOption
class  Tensor
class  PointCloud
 A point cloud contains a list of 3D points. More...

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 &params, 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 &params, const SLACDebugOption &debug_option)
void FillInSLACRegularizerTerm (Tensor &AtA, Tensor &Atb, Tensor &residual, ControlGrid &ctr_grid, int n_frags, const SLACOptimizerParams &params, const SLACDebugOption &debug_option)
void 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.
std::pair< PoseGraph, ControlGridRunSLACOptimizerForFragments (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.
PoseGraph 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.
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.
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)

Typedef Documentation

◆ PoseGraph

Function Documentation

◆ FillInRigidAlignmentTerm()

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 )

◆ FillInSLACAlignmentTerm()

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 )

◆ FillInSLACRegularizerTerm()

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 )

◆ RunRigidOptimizerForFragments()

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.

Parameters
fragment_fnamesVector of filenames for pointcloud fragments.
fragment_pose_graphLegacy PoseGraph for pointcloud fragments.
paramsParameters to tune in rigid optimization.
debug_optionDebug options.
Returns
Updated pose graph.

◆ RunSLACOptimizerForFragments()

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.

Parameters
fragment_filenamesVector of filenames for pointcloud fragments.
fragment_pose_graphLegacy PoseGraph for pointcloud fragments.
paramsParameters to tune in SLAC.
debug_optionDebug options.
Returns
pair of optimized registration::PoseGraph and slac::ControlGrid.

◆ SaveCorrespondencesForPointClouds()

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.

Parameters
fnames_processedVector of filenames for processed pointcloud fragments.
fragment_pose_graphLegacy PoseGraph for pointcloud fragments.
paramsParameters to tune in finding correspondences.
debug_optionSLACDebugOption containing the debug options.

◆ VisualizeGridDeformation()

void open3d::t::pipelines::slac::VisualizeGridDeformation ( ControlGrid & cgrid)

◆ VisualizePointCloudCorrespondences()

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.

Parameters
tpcd_i,sourcepoint cloud.
tpcd_j,targetpoint cloud.
correspondencesPutative correspondence between tcpd_i and tpcd_j.
T_ijTransformation 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.

◆ VisualizePointCloudDeformation()

void open3d::t::pipelines::slac::VisualizePointCloudDeformation ( const geometry::PointCloud & tpcd_param,
ControlGrid & ctr_grid )

◆ VisualizePointCloudEmbedding()

void open3d::t::pipelines::slac::VisualizePointCloudEmbedding ( t::geometry::PointCloud & tpcd_param,
ControlGrid & ctr_grid,
bool show_lines )