TransformationValidationEuclidean вычисляет норму L2SQR между исходным и целевым набором данных. Подробнее...
#include <pcl/registration/transformation_validation_euclidean.h>
Классы | |
| 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.
Определение в строке 75 файла transformation_validation_euclidean.h.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const TransformationValidation<PointSource, PointTarget, Scalar> > |
Определение в строке 81 файла transformation_validation_euclidean.h.
KdTree
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::KdTree = pcl::search::KdTree<PointTarget> |
Определение в строке 84 файла transformation_validation_euclidean.h.
KdTreePtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::KdTreePtr = typename KdTree::Ptr |
Определение в строке 85 файла transformation_validation_euclidean.h.
Matrix4
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationValidation<PointSource, PointTarget, Scalar>::Matrix4 |
Определение в строке 77 файла transformation_validation_euclidean.h.
PointCloudSourceConstPtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename TransformationValidation<PointSource, PointTarget>::PointCloudSourceConstPtr |
Определение в строке 89 файла transformation_validation_euclidean.h.
PointCloudTargetConstPtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename TransformationValidation<PointSource, PointTarget>::PointCloudTargetConstPtr |
Определение в строке 92 файла transformation_validation_euclidean.h.
PointRepresentationConstPtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr |
Определение в строке 87 файла transformation_validation_euclidean.h.
Ptr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<TransformationValidation<PointSource, PointTarget, Scalar> > |
Определение в строке 80 файла transformation_validation_euclidean.h.
Документация конструктора и деструктора
TransformationValidationEuclidean()
| inline |
Конструктор.
Устанавливает параметр max_range в double::max, threshold_ в NaN и инициализирует внутреннее поисковое tree как kd-дерево FLANN.
Определение в строке 100 файла transformation_validation_euclidean.h.
~TransformationValidationEuclidean()
| virtualdefault |
Документация функций-членов
getMaxRange()
| inline |
Получить максимально допустимое расстояние между точкой и соответствующей ей точкой, заданное пользователем.
Определение в строке 122 файла transformation_validation_euclidean.h.
Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_.
getThreshold()
| inline |
Получить пороговое значение, при котором заданное преобразование считается допустимым.
Определение в строке 157 файла transformation_validation_euclidean.h.
Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_.
isValid()
| 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()()
| inlinevirtual |
Функция сравнения, определяющая, какая оценка лучше после проверки нескольких преобразований.
- Параметры
-
[in] score1 первое значение [in] score2 второе значение
- Возвращает
- true, если score1 лучше score2
Определение в строке 186 файла transformation_validation_euclidean.h.
setMaxRange()
| inline |
Задать максимально допустимое расстояние между точкой и соответствующей ей точкой в целевом облаке, при котором соответствие считается допустимым.
По умолчанию: double::max.
- Параметры
-
[in] max_range новое максимально допустимое расстояние
Определение в строке 113 файла transformation_validation_euclidean.h.
Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_.
setSearchMethodTarget()
| 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()
| inline |
Задать пороговое значение, при котором заданное преобразование считается допустимым.
- Примечание
- Поскольку в качестве метрики используется MSE (среднеквадратичная ошибка), пороговое значение представляет собой пороговое значение среднего евклидова расстояния по всем ближайшим соседям в пределах max_range.
- Параметры
-
[in] threshold пороговое значение, при котором преобразование считается допустимым
Определение в строке 150 файла transformation_validation_euclidean.h.
Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_.
validateTransformation()
| 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_
| protected |
Флаг, который означает, что дерево для целевого облака никогда не будет пересчитываться, если он установлен.
Определение в строке 231 файла transformation_validation_euclidean.h.
Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setSearchMethodTarget().
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_
| 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_
| 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