ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
GlobalOptimization.cpp File Reference
#include "pipelines/registration/GlobalOptimization.h"
#include <Eigen.h>
#include <Logging.h>
#include <Timer.h>
#include <Eigen/Dense>
#include <Eigen/Sparse>
#include <tuple>
#include <vector>
#include "pipelines/registration/GlobalOptimizationConvergenceCriteria.h"
#include "pipelines/registration/GlobalOptimizationMethod.h"
#include "pipelines/registration/PoseGraph.h"
Include dependency graph for GlobalOptimization.cpp:

Go to the source code of this file.

Namespaces

 cloudViewer
 Generic file read and write utility for python interface.
 
 cloudViewer::pipelines
 
 cloudViewer::pipelines::registration
 

Functions

Eigen::Vector6d cloudViewer::pipelines::registration::GetLinearized6DVector (const Eigen::Matrix4d &input)
 
Eigen::Vector6d cloudViewer::pipelines::registration::GetMisalignmentVector (const Eigen::Matrix4d &X_inv, const Eigen::Matrix4d &Ts, const Eigen::Matrix4d &Tt_inv)
 
std::tuple< Eigen::Matrix4d, Eigen::Matrix4d, Eigen::Matrix4d > cloudViewer::pipelines::registration::GetRelativePoses (const PoseGraph &pose_graph, int edge_id)
 
std::tuple< Eigen::Matrix6d, Eigen::Matrix6dcloudViewer::pipelines::registration::GetJacobian (const Eigen::Matrix4d &X_inv, const Eigen::Matrix4d &Ts, const Eigen::Matrix4d &Tt_inv)
 
int cloudViewer::pipelines::registration::UpdateConfidence (PoseGraph &pose_graph, const Eigen::VectorXd &zeta, const double line_process_weight, const GlobalOptimizationOption &option)
 
double cloudViewer::pipelines::registration::ComputeResidual (const PoseGraph &pose_graph, const Eigen::VectorXd &zeta, const double line_process_weight, const GlobalOptimizationOption &option)
 Function to compute residual defined in [Choi et al 2015] See Eq (9). More...
 
Eigen::VectorXd cloudViewer::pipelines::registration::ComputeZeta (const PoseGraph &pose_graph)
 Function to compute residual defined in [Choi et al 2015] See Eq (6). More...
 
std::tuple< Eigen::MatrixXd, Eigen::VectorXd > cloudViewer::pipelines::registration::ComputeLinearSystem (const PoseGraph &pose_graph, const Eigen::VectorXd &zeta)
 
Eigen::VectorXd cloudViewer::pipelines::registration::UpdatePoseVector (const PoseGraph &pose_graph)
 
std::shared_ptr< PoseGraph > cloudViewer::pipelines::registration::UpdatePoseGraph (const PoseGraph &pose_graph, const Eigen::VectorXd delta)
 
bool cloudViewer::pipelines::registration::CheckRightTerm (const Eigen::VectorXd &right_term, const GlobalOptimizationConvergenceCriteria &criteria)
 
bool cloudViewer::pipelines::registration::CheckRelativeIncrement (const Eigen::VectorXd &delta, const Eigen::VectorXd &x, const GlobalOptimizationConvergenceCriteria &criteria)
 
bool cloudViewer::pipelines::registration::CheckRelativeResidualIncrement (double current_residual, double new_residual, const GlobalOptimizationConvergenceCriteria &criteria)
 
bool cloudViewer::pipelines::registration::CheckResidual (double residual, const GlobalOptimizationConvergenceCriteria &criteria)
 
bool cloudViewer::pipelines::registration::CheckMaxIteration (int iteration, const GlobalOptimizationConvergenceCriteria &criteria)
 
bool cloudViewer::pipelines::registration::CheckMaxIterationLM (int iteration, const GlobalOptimizationConvergenceCriteria &criteria)
 
double cloudViewer::pipelines::registration::ComputeLineProcessWeight (const PoseGraph &pose_graph, const GlobalOptimizationOption &option)
 
void cloudViewer::pipelines::registration::CompensateReferencePoseGraphNode (PoseGraph &pose_graph_new, const PoseGraph &pose_graph_orig, int reference_node)
 
bool cloudViewer::pipelines::registration::ValidatePoseGraphConnectivity (const PoseGraph &pose_graph, bool ignore_uncertain_edges=false)
 
bool cloudViewer::pipelines::registration::ValidatePoseGraph (const PoseGraph &pose_graph)
 
std::shared_ptr< PoseGraph > cloudViewer::pipelines::registration::CreatePoseGraphWithoutInvalidEdges (const PoseGraph &pose_graph, const GlobalOptimizationOption &option)
 
void cloudViewer::pipelines::registration::GlobalOptimization (PoseGraph &pose_graph, const GlobalOptimizationMethod &method, const GlobalOptimizationConvergenceCriteria &criteria, const GlobalOptimizationOption &option)
 

Variables

const std::vector< Eigen::Matrix4d, utility::Matrix4d_allocator > cloudViewer::pipelines::registration::jacobian_operator