Spec-Zone.ru › PointCloudLibrary

TransformationValidationEuclidean вычисляет норму L2SQR между исходным и целевым набором данных. Подробнее...

#include <pcl/registration/transformation_validation_euclidean.h>

Collaboration graph
[легенда]

Классы

class MyPointRepresentation
Внутреннее представление точки использует для L2 только 3D-координаты. Подробнее...

Общедоступные типы

using Matrix4 = typename TransformationValidation< PointSource, PointTarget, Scalar >::Matrix4
using Ptr = shared_ptr< TransformationValidation< PointSource, PointTarget, Scalar > >
using ConstPtr = shared_ptr< const TransformationValidation< PointSource, PointTarget, Scalar > >
using KdTree = pcl::search::KdTree< PointTarget >
using KdTreePtr = typename KdTree::Ptr
using PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr
using PointCloudSourceConstPtr = typename TransformationValidation< PointSource, PointTarget >::PointCloudSourceConstPtr
using PointCloudTargetConstPtr = typename TransformationValidation< PointSource, PointTarget >::PointCloudTargetConstPtr

Общедоступные функции-члены

TransformationValidationEuclidean ()
Конструктор. Подробнее...
virtual ~TransformationValidationEuclidean ()=default
void setMaxRange (double max_range)
Задать максимально допустимое расстояние между точкой и соответствующей ей точкой в целевом облаке, при котором соответствие считается допустимым. Подробнее...
double getMaxRange ()
Получить заданное пользователем максимально допустимое расстояние между точкой и соответствующей ей точкой. Подробнее...
void setSearchMethodTarget (const KdTreePtr &tree, bool force_no_recompute=false)
Передать указатель на объект поиска, используемый для нахождения соответствий в целевом облаке. Подробнее...
void setThreshold (double threshold)
Задать пороговое значение, определяющее допустимость конкретного преобразования. Подробнее...
double getThreshold ()
Получить пороговое значение, определяющее допустимость конкретного преобразования. Подробнее...
double validateTransformation (const PointCloudSourceConstPtr &cloud_src, const PointCloudTargetConstPtr &cloud_tgt, const Matrix4 &transformation_matrix) const
Проверить заданное преобразование относительно входных данных облака точек и вернуть оценку. Подробнее...
virtual bool operator() (const double &score1, const double &score2) const
Функция сравнения, определяющая, какая оценка лучше после проверки нескольких преобразований. Подробнее...
virtual bool isValid (const PointCloudSourceConstPtr &cloud_src, const PointCloudTargetConstPtr &cloud_tgt, const Matrix4 &transformation_matrix) const
Проверить, допустима ли оценка для конкретного преобразования. Подробнее...

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

double max_range_
Максимально допустимое расстояние между точкой и соответствующей ей точкой в целевом облаке, при котором соответствие считается допустимым. Подробнее...
double threshold_
Пороговое значение, определяющее допустимость конкретного преобразования. Подробнее...
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
bool force_no_recompute_ {false}
Флаг, который запрещает повторно вычислять дерево для целевого облака, если он установлен. Подробнее...

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

template<typename PointSource, typename PointTarget, typename Scalar = float>
class pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >

TransformationValidationEuclidean вычисляет норму L2SQR между исходным и целевым набором данных.

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

Выходная оценка нормализуется с учётом количества найденных допустимых соответствий.

Пример использования:

pcl::TransformationValidationEuclidean<pcl::PointXYZ, pcl::PointXYZ> tve;
tve.setMaxRange (0.01); // 1cm
double score = tve.validateTransformation (source, target, transformation);
Примечание
Класс параметризуется типами исходных и целевых точек, а также скалярным типом выходной матрицы преобразования (то есть float или double). По умолчанию: float.
Автор
Radu B. Rusu

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

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

ConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const TransformationValidation<PointSource, PointTarget, Scalar> >

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

KdTree

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::KdTree = pcl::search::KdTree<PointTarget>

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

KdTreePtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::KdTreePtr = typename KdTree::Ptr

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

Matrix4

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationValidation<PointSource, PointTarget, Scalar>::Matrix4

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

PointCloudSourceConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename TransformationValidation<PointSource, PointTarget>::PointCloudSourceConstPtr

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

PointCloudTargetConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename TransformationValidation<PointSource, PointTarget>::PointCloudTargetConstPtr

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

PointRepresentationConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr

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

Ptr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<TransformationValidation<PointSource, PointTarget, Scalar> >

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

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

TransformationValidationEuclidean()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::TransformationValidationEuclidean ( )
inline

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

Устанавливает параметр max_range в double::max, threshold_ в NaN и инициализирует внутреннее поисковое tree как kd-дерево FLANN.

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

~TransformationValidationEuclidean()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::~TransformationValidationEuclidean ( )
virtualdefault

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

getMaxRange()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::getMaxRange ( )
inline

Получить максимально допустимое расстояние между точкой и соответствующей ей точкой, заданное пользователем.

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_.

getThreshold()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::getThreshold ( )
inline

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

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_.

isValid()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual bool pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::isValid ( const PointCloudSourceConstPtr & cloud_src,
const PointCloudTargetConstPtr & cloud_tgt,
const Matrix4 & transformation_matrix
) const
inlinevirtual

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

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

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_ и pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::validateTransformation().

operator()()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual bool pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::operator() ( const double & score1,
const double & score2
) const
inlinevirtual

Функция сравнения, определяющая, какая оценка лучше после проверки нескольких преобразований.

Параметры
[in] score1 первое значение
[in] score2 второе значение
Возвращает
true, если score1 лучше score2

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

setMaxRange()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setMaxRange ( double max_range )
inline

Задать максимально допустимое расстояние между точкой и соответствующей ей точкой в целевом облаке, при котором соответствие считается допустимым.

По умолчанию: double::max.

Параметры
[in] max_range новое максимально допустимое расстояние

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_.

setSearchMethodTarget()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setSearchMethodTarget ( const KdTreePtr & tree,
bool force_no_recompute = false
)
inline

Указать указатель на объект поиска, используемый для нахождения соответствий в целевом облаке.

Параметры
[in] tree указатель на объект пространственного поиска.
[in] force_no_recompute Если задано значение true, это дерево НИКОГДА не будет пересчитываться независимо от вызовов setInputTarget. Используйте этот параметр, только если уверены, что дерево будет задано корректно.

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::force_no_recompute_ и pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::tree_.

setThreshold()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setThreshold ( double threshold )
inline

Задать пороговое значение, при котором заданное преобразование считается допустимым.

Примечание
Поскольку в качестве метрики используется MSE (среднеквадратичная ошибка), пороговое значение представляет собой пороговое значение среднего евклидова расстояния по всем ближайшим соседям в пределах max_range.
Параметры
[in] threshold пороговое значение, при котором преобразование считается допустимым

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_.

validateTransformation()

template<typename PointSource , typename PointTarget , typename Scalar >
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::validateTransformation ( const PointCloudSourceConstPtr & cloud_src,
const PointCloudTargetConstPtr & cloud_tgt,
const Matrix4 & transformation_matrix
) const

Проверить заданное преобразование относительно входных данных облака и вернуть оценку.

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

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

Ссылки на pcl::PointCloud< PointT >::resize().

Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::isValid().

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

force_no_recompute_

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::force_no_recompute_ {false}
protected

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

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

Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setSearchMethodTarget().

max_range_

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_
protected

Максимально допустимое расстояние между точкой и соответствующей ей точкой в целевом облаке, при котором соответствие считается допустимым.

По умолчанию: double::max.

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

Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::getMaxRange() и pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setMaxRange().

threshold_

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_
protected

Пороговое значение, при котором заданное преобразование считается допустимым.

По умолчанию установлено значение NaN, поскольку пользователь должен задать его самостоятельно.

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

Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::getThreshold(), pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::isValid() и pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setThreshold().

tree_

template<typename PointSource , typename PointTarget , typename Scalar = float>
KdTreePtr pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::tree_
protected

Указатель на объект пространственного поиска.

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

Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setSearchMethodTarget().


Документация этого класса была сгенерирована на основе следующих файлов:
  • pcl/registration/transformation_validation_euclidean.h
  • pcl/registration/impl/transformation_validation_euclidean.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_validation_euclidean.html

Spec-Zone.ru

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