Template Class LsqRegistration
Defined in File lsq_registration.hpp
Inheritance Relationships
Base Type
public pcl::Registration< PointSource, PointTarget, float >
Derived Types
public fast_gicp::FastGICP< PointSource, PointTarget, SearchMethodSource, SearchMethodTarget >
(Template Class FastGICP)public fast_gicp::FastVGICPCuda< PointSource, PointTarget >
(Template Class FastVGICPCuda)public fast_gicp::NDTCuda< PointSource, PointTarget >
(Template Class NDTCuda)
Class Documentation
-
template<typename PointSource, typename PointTarget>
class LsqRegistration : public pcl::Registration<PointSource, PointTarget, float> Subclassed by fast_gicp::FastGICP< PointSource, PointTarget, SearchMethodSource, SearchMethodTarget >, fast_gicp::FastVGICPCuda< PointSource, PointTarget >, fast_gicp::NDTCuda< PointSource, PointTarget >
Public Types
-
using Scalar = float
-
using Matrix4 = typename pcl::Registration<PointSource, PointTarget, Scalar>::Matrix4
-
using PointCloudSource = typename pcl::Registration<PointSource, PointTarget, Scalar>::PointCloudSource
-
using PointCloudSourcePtr = typename PointCloudSource::Ptr
-
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
-
using PointCloudTarget = typename pcl::Registration<PointSource, PointTarget, Scalar>::PointCloudTarget
-
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
-
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
-
using Ptr = pcl::shared_ptr<LsqRegistration<PointSource, PointTarget>>
-
using ConstPtr = pcl::shared_ptr<const LsqRegistration<PointSource, PointTarget>>
Public Functions
-
EIGEN_MAKE_ALIGNED_OPERATOR_NEW LsqRegistration()
-
virtual ~LsqRegistration()
-
void setRotationEpsilon(double eps)
-
void setInitialLambdaFactor(double init_lambda_factor)
-
void setDebugPrint(bool lm_debug_print)
-
const Eigen::Matrix<double, 6, 6> &getFinalHessian() const
-
double evaluateCost(const Eigen::Matrix4f &relative_pose, Eigen::Matrix<double, 6, 6> *H = nullptr, Eigen::Matrix<double, 6, 1> *b = nullptr)
-
inline virtual void swapSourceAndTarget()
-
inline virtual void clearSource()
-
inline virtual void clearTarget()
Protected Functions
-
virtual void computeTransformation(PointCloudSource &output, const Matrix4 &guess) override
-
bool is_converged(const Eigen::Isometry3d &delta) const
-
virtual double linearize(const Eigen::Isometry3d &trans, Eigen::Matrix<double, 6, 6> *H = nullptr, Eigen::Matrix<double, 6, 1> *b = nullptr) = 0
-
virtual double compute_error(const Eigen::Isometry3d &trans) = 0
-
bool step_optimize(Eigen::Isometry3d &x0, Eigen::Isometry3d &delta)
-
bool step_gn(Eigen::Isometry3d &x0, Eigen::Isometry3d &delta)
-
bool step_lm(Eigen::Isometry3d &x0, Eigen::Isometry3d &delta)
-
using Scalar = float