Spec-Zone.ru › PointCloudLibrary

TransformationEstimationLM реализует оценку преобразования, выравнивающего заданные соответствия, на основе метода Левенберга — Марквардта. Подробнее...

#include <pcl/registration/transformation_estimation_lm.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

Классы

struct Functor
Базовый функтор. Все модели, которым требуется нелинейная оптимизация, должны определить собственный функтор и реализовать operator() (const Eigen::VectorXd& x, Eigen::VectorXd& fvec) или operator() (const Eigen::VectorXf& x, Eigen::VectorXf& fvec) в зависимости от выбранного _Scalar. Подробнее...
struct OptimizationFunctor
struct OptimizationFunctorWithIndices

Открытые типы

using Ptr = shared_ptr< TransformationEstimationLM< PointSource, PointTarget, MatScalar > >
using ConstPtr = shared_ptr< const TransformationEstimationLM< PointSource, PointTarget, MatScalar > >
using VectorX = Eigen::Matrix< MatScalar, Eigen::Dynamic, 1 >
using Vector4 = Eigen::Matrix< MatScalar, 4, 1 >
using Matrix4 = typename TransformationEstimation< PointSource, PointTarget, MatScalar >::Matrix4
- Открытые типы, унаследованные от pcl::registration::TransformationEstimation< PointSource, PointTarget, float >
using Matrix4 = Eigen::Matrix< float, 4, 4 >
using Ptr = shared_ptr< TransformationEstimation< PointSource, PointTarget, float > >
using ConstPtr = shared_ptr< const TransformationEstimation< PointSource, PointTarget, float > >

Открытые функции-члены

TransformationEstimationLM ()
Конструктор. Подробнее...
TransformationEstimationLM (const TransformationEstimationLM &src)
Конструктор копирования. Подробнее...
TransformationEstimationLM & operator= (const TransformationEstimationLM &src)
Оператор копирования. Подробнее...
~TransformationEstimationLM () override=default
Деструктор. Подробнее...
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const override
Оценить преобразование жесткого вращения между исходным и целевым облаками точек с помощью LM. Подробнее...
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const override
Оценить преобразование жесткого вращения между исходным и целевым облаками точек с помощью LM. Подробнее...
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) const override
Оценить преобразование жесткого вращения между исходным и целевым облаками точек с помощью LM. Подробнее...
void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const override
Оценить преобразование жесткого вращения между исходным и целевым облаками точек с помощью LM. Подробнее...
void setWarpFunction (const typename WarpPointRigid< PointSource, PointTarget, MatScalar >::Ptr &warp_fcn)
Задать функцию, используемую для деформации точек. Подробнее...
- Открытые функции-члены, унаследованные от pcl::registration::TransformationEstimation< PointSource, PointTarget, float >
TransformationEstimation ()=default
virtual ~TransformationEstimation ()=default
virtual void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const=0
Оценить преобразование жесткого вращения между исходным и целевым облаками точек. Подробнее...
virtual void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const=0
Оценить преобразование жесткого вращения между исходным и целевым облаками точек. Подробнее...
virtual void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) const=0
Оценить преобразование жесткого вращения между исходным и целевым облаками точек. Подробнее...
virtual void estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const=0
Оценить преобразование жесткого вращения между исходным и целевым облаками точек. Подробнее...

Защищенные функции-члены

virtual MatScalar computeDistance (const PointSource &p_src, const PointTarget &p_tgt) const
Вычислить расстояние между исходной точкой и соответствующей ей целевой точкой. Подробнее...
virtual MatScalar computeDistance (const Vector4 &p_src, const PointTarget &p_tgt) const
Вычислить расстояние между исходной точкой и соответствующей ей целевой точкой. Подробнее...

Защищённые атрибуты

const PointCloudSource * tmp_src_ {nullptr}
Временный указатель на исходный набор данных. Подробнее...
const PointCloudTarget * tmp_tgt_ {nullptr}
Временный указатель на целевой набор данных. Подробнее...
const pcl::Indices * tmp_idx_src_ {nullptr}
Временный указатель на индексы исходного набора данных. Подробнее...
const pcl::Indices * tmp_idx_tgt_ {nullptr}
Временный указатель на индексы целевого набора данных. Подробнее...
pcl::registration::WarpPointRigid< PointSource, PointTarget, MatScalar >::Ptr warp_point_
Параметризованная функция, используемая для преобразования исходных данных в целевые. Подробнее...

Подробное описание

template<typename PointSource, typename PointTarget, typename MatScalar = float>
class pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >

TransformationEstimationLM реализует оценку преобразования, выравнивающего заданные соответствия, на основе метода Левенберга — Марквардта.

Примечание
Класс параметризуется типами точек источника и цели, а также скалярным типом выходных данных матрицы преобразования (т. е. float или double). Тип по умолчанию: float.
Автор
Radu B. Rusu

Определение в строке 58 файла transformation_estimation_lm.h.

Документация по псевдонимам типов-членов

ConstPtr

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::ConstPtr = shared_ptr<const TransformationEstimationLM<PointSource, PointTarget, MatScalar> >

Определение в строке 72 файла transformation_estimation_lm.h.

Matrix4

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Matrix4 = typename TransformationEstimation<PointSource, PointTarget, MatScalar>::Matrix4

Определение в строке 77 файла transformation_estimation_lm.h.

Ptr

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Ptr = shared_ptr<TransformationEstimationLM<PointSource, PointTarget, MatScalar> >

Определение в строке 70 файла transformation_estimation_lm.h.

Vector4

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Vector4 = Eigen::Matrix<MatScalar, 4, 1>

Определение в строке 76 файла transformation_estimation_lm.h.

VectorX

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::VectorX = Eigen::Matrix<MatScalar, Eigen::Dynamic, 1>

Определение в строке 75 файла transformation_estimation_lm.h.

Документация по конструкторам и деструкторам

TransformationEstimationLM() [1/2]

template<typename PointSource , typename PointTarget , typename MatScalar >
pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::TransformationEstimationLM

Конструктор.

Определение в строке 49 файла transformation_estimation_lm.hpp.

TransformationEstimationLM() [2/2]

template<typename PointSource , typename PointTarget , typename MatScalar = float>
pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::TransformationEstimationLM ( const TransformationEstimationLM< PointSource, PointTarget, MatScalar > & src )
inline

Конструктор копирования.

Параметры
[in] src объект TransformationEstimationLM, который копируется в этот объект

Определение в строке 86 файла transformation_estimation_lm.h.

~TransformationEstimationLM()

template<typename PointSource , typename PointTarget , typename MatScalar = float>
pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::~TransformationEstimationLM ( )
overridedefault

Деструктор.

Документация по функциям-членам

computeDistance() [1/2]

template<typename PointSource , typename PointTarget , typename MatScalar = float>
virtual MatScalar pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::computeDistance ( const PointSource & p_src,
const PointTarget & p_tgt
) const
inlineprotectedvirtual

Вычисляет расстояние между исходной точкой и соответствующей ей целевой точкой.

Параметры
[in] p_src Исходная точка
[in] p_tgt Целевая точка
Возвращает
Расстояние между p_src и p_tgt
Примечание
В более ранних версиях PCL этот метод использовался внутри библиотеки для вычисления градиента оптимизации. Начиная с PCL 1.7 вместо него используется метод computeDistance с типами Vector4. Этот метод сохранён только для совместимости с API.

Переопределён в pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, float > и pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >.

Определение в строке 182 файла transformation_estimation_lm.h.

computeDistance() [2/2]

template<typename PointSource , typename PointTarget , typename MatScalar = float>
virtual MatScalar pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::computeDistance ( const Vector4 & p_src,
const PointTarget & p_tgt
) const
inlineprotectedvirtual

Вычисляет расстояние между исходной точкой и соответствующей ей целевой точкой.

Параметры
[in] p_src Исходная точка
[in] p_tgt Целевая точка
Возвращает
Расстояние между p_src и p_tgt
Примечание
Другую функцию расстояния можно определить, создав подкласс TransformationEstimationLM и переопределив этот метод. (См. TransformationEstimationPointToPlane)

Переопределён в pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, float > и pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >.

Определение в строке 198 файла transformation_estimation_lm.h.

estimateRigidTransformation() [1/4]

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::Indices & indices_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
const pcl::Indices & indices_tgt,
Matrix4 & transformation_matrix
) const
inlineoverride

Оценивает преобразование жёсткого вращения между исходным и целевым облаками точек с помощью LM.

Параметры
[in] cloud_src исходный набор данных облака точек
[in] indices_src вектор индексов, задающий интересующие точки в cloud_src
[in] cloud_tgt целевой набор данных облака точек
[in] indices_tgt вектор индексов, задающий соответствия интересующих точек из indices_src
[out] transformation_matrix результирующая матрица преобразования

Определение в строке 152 файла transformation_estimation_lm.hpp.

estimateRigidTransformation() [2/4]

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::Indices & indices_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
Matrix4 & transformation_matrix
) const
inlineoverride

Оценивает преобразование жёсткого вращения между исходным и целевым облаками точек с помощью LM.

Параметры
[in] cloud_src исходный набор данных облака точек
[in] indices_src вектор индексов, задающий интересующие точки в cloud_src
[in] cloud_tgt целевой набор данных облака точек
[out] transformation_matrix результирующая матрица преобразования

Определение в строке 121 файла transformation_estimation_lm.hpp.

Ссылки: pcl::PointCloud< PointT >::size().

estimateRigidTransformation() [3/4]

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
const pcl::Correspondences & correspondences,
Matrix4 & transformation_matrix
) const
inlineoverride

Оценивает преобразование жёсткого вращения между исходным и целевым облаками точек с помощью LM.

Параметры
[in] cloud_src исходный набор данных облака точек
[in] cloud_tgt целевой набор данных облака точек
[in] correspondences вектор соответствий между исходным и целевым облаками точек
[out] transformation_matrix результирующая матрица преобразования

Определение в строке 219 файла transformation_estimation_lm.hpp.

estimateRigidTransformation() [4/4]

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
Matrix4 & transformation_matrix
) const
inlineoverride

Оценить преобразование жесткого вращения между исходным и целевым облаками точек с помощью LM.

Параметры
[in] cloud_src исходный набор данных облака точек
[in] cloud_tgt целевой набор данных облака точек
[out] transformation_matrix результирующая матрица преобразования

Определение в строке 58 файла transformation_estimation_lm.hpp.

См. также pcl::PointCloud< PointT >::size().

operator=()

template<typename PointSource , typename PointTarget , typename MatScalar = float>
TransformationEstimationLM& pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator= ( const TransformationEstimationLM< PointSource, PointTarget, MatScalar > & src )
inline

Оператор копирования.

Параметры
[in] src объект TransformationEstimationLM, который копируется в этот объект

Определение в строке 97 файла transformation_estimation_lm.h.

См. также pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_src_, pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_tgt_, pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_src_, pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_tgt_ и pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::warp_point_.

setWarpFunction()

template<typename PointSource , typename PointTarget , typename MatScalar = float>
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::setWarpFunction ( const typename WarpPointRigid< PointSource, PointTarget, MatScalar >::Ptr & warp_fcn )
inline

Задать функцию, используемую для деформации точек.

По умолчанию используется жесткое 6D-преобразование.

Параметры
[in] warp_fcn указатель на объект, деформирующий точки

Определение в строке 165 файла transformation_estimation_lm.h.

См. также pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::warp_point_.

Документация по данным-членам

tmp_idx_src_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const pcl::Indices* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_src_ {nullptr}
mutableprotected

Временный указатель на индексы исходного набора данных.

Определение в строке 211 файла transformation_estimation_lm.h.

Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().

tmp_idx_tgt_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const pcl::Indices* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_tgt_ {nullptr}
mutableprotected

Временный указатель на индексы целевого набора данных.

Определение в строке 214 файла transformation_estimation_lm.h.

Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().

tmp_src_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const PointCloudSource* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_src_ {nullptr}
mutableprotected

Временный указатель на исходный набор данных.

Определение в строке 205 файла transformation_estimation_lm.h.

Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().

tmp_tgt_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const PointCloudTarget* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_tgt_ {nullptr}
mutableprotected

Временный указатель на целевой набор данных.

Определение в строке 208 файла transformation_estimation_lm.h.

Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().

warp_point_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
pcl::registration::WarpPointRigid<PointSource, PointTarget, MatScalar>::Ptr pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::warp_point_
protected

Параметризованная функция, используемая для преобразования исходного набора данных в целевой.

Определение в строке 218 файла transformation_estimation_lm.h.

Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=() и pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::setWarpFunction().


Документация по этому классу создана на основе следующих файлов:
  • pcl/registration/transformation_estimation_lm.h
  • pcl/registration/impl/transformation_estimation_lm.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1registration_1_1_transformation_estimation_l_m.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API