Registration представляет базовый класс регистрации для методов общего назначения, подобных ICP. Подробнее...
#include <pcl/registration/registration.h>
Общедоступные функции-члены | |
| Registration () | |
| Пустой конструктор. Подробнее... |
|
| ~Registration () override=default | |
| Деструктор. Подробнее... |
|
| void | setTransformationEstimation (const TransformationEstimationPtr &te) |
| Передаёт указатель на объект оценки преобразования. Подробнее... |
|
| void | setCorrespondenceEstimation (const CorrespondenceEstimationPtr &ce) |
| Передаёт указатель на объект оценки соответствий. Подробнее... |
|
| virtual void | setInputSource (const PointCloudSourceConstPtr &cloud) |
| Передаёт указатель на входной источник (например, облако точек, которое требуется совместить с целевым облаком). Подробнее... |
|
| PointCloudSourceConstPtr const | getInputSource () |
| Возвращает указатель на целевой набор входных данных — облако точек. Подробнее... |
|
| virtual void | setInputTarget (const PointCloudTargetConstPtr &cloud) |
| Передаёт указатель на входное целевое облако (например, облако точек, с которым требуется совместить входной источник). Подробнее... |
|
| PointCloudTargetConstPtr const | getInputTarget () |
| Возвращает указатель на целевой набор входных данных — облако точек. Подробнее... |
|
| void | setSearchMethodTarget (const KdTreePtr &tree, bool force_no_recompute=false) |
| Передаёт указатель на объект поиска, используемый для нахождения соответствий в целевом облаке. Подробнее... |
|
| KdTreePtr | getSearchMethodTarget () const |
| Возвращает указатель на метод поиска, используемый для нахождения соответствий в целевом облаке. Подробнее... |
|
| void | setSearchMethodSource (const KdTreeReciprocalPtr &tree, bool force_no_recompute=false) |
| Передаёт указатель на объект поиска, используемый для нахождения соответствий в исходном облаке (обычно применяется при поиске взаимных соответствий). Подробнее... |
|
| KdTreeReciprocalPtr | getSearchMethodSource () const |
| Возвращает указатель на метод поиска, используемый для нахождения соответствий в исходном облаке. Подробнее... |
|
| Matrix4 | getFinalTransformation () |
| Возвращает итоговую матрицу преобразования, оценённую методом регистрации. Подробнее... |
|
| Matrix4 | getLastIncrementalTransformation () |
| Возвращает последнюю матрицу инкрементального преобразования, оценённую методом регистрации. Подробнее... |
|
| void | setMaximumIterations (int nr_iterations) |
| Задаёт максимальное число итераций внутренней оптимизации. Подробнее... |
|
| int | getMaximumIterations () |
| Возвращает заданное пользователем максимальное число итераций внутренней оптимизации. Подробнее... |
|
| void | setRANSACIterations (int ransac_iterations) |
| Задаёт число итераций алгоритма RANSAC. Подробнее... |
|
| double | getRANSACIterations () |
| Возвращает заданное пользователем число итераций алгоритма RANSAC. Подробнее... |
|
| void | setRANSACOutlierRejectionThreshold (double inlier_threshold) |
| Задаёт пороговое расстояние до внутренней точки для внутреннего цикла отбраковки выбросов RANSAC. Подробнее... |
|
| double | getRANSACOutlierRejectionThreshold () |
| Возвращает заданный пользователем порог расстояния до внутренней точки для внутреннего цикла отбраковки выбросов. Подробнее... |
|
| void | setMaxCorrespondenceDistance (double distance_threshold) |
| Задаёт максимальное расстояние между двумя соответствующими точками исходного и целевого облаков. Подробнее... |
|
| double | getMaxCorrespondenceDistance () |
| Возвращает максимальное расстояние между двумя соответствующими точками исходного и целевого облаков. Подробнее... |
|
| void | setTransformationEpsilon (double epsilon) |
| Задаёт эпсилон преобразования (максимально допустимую разность квадратов перемещений между двумя последовательными преобразованиями), при которой оптимизация считается сошедшейся к итоговому решению. Подробнее... |
|
| double | getTransformationEpsilon () |
| Возвращает заданный пользователем эпсилон преобразования (максимально допустимую разность квадратов перемещений между двумя последовательными преобразованиями). Подробнее... |
|
| void | setTransformationRotationEpsilon (double epsilon) |
| Задаёт эпсилон вращения преобразования (максимально допустимую разность вращений между двумя последовательными преобразованиями), при которой оптимизация считается сошедшейся к итоговому решению. Подробнее... |
|
| double | getTransformationRotationEpsilon () |
| Возвращает заданный пользователем эпсилон вращения преобразования (максимально допустимую разность между двумя последовательными преобразованиями; эпсилон — это cos угла в представлении ось—угол). Подробнее... |
|
| void | setEuclideanFitnessEpsilon (double epsilon) |
| Задаёт максимально допустимую евклидову ошибку между двумя последовательными шагами цикла ICP, после которой алгоритм считается сошедшимся. Подробнее... |
|
| double | getEuclideanFitnessEpsilon () |
| Возвращает заданную пользователем максимально допустимую ошибку расстояния, при достижении которой алгоритм считается сошедшимся. Подробнее... |
|
| void | setPointRepresentation (const PointRepresentationConstPtr &point_representation) |
| Передаёт общий указатель boost на PointRepresentation, который будет использоваться при сравнении точек. Подробнее... |
|
| bool | registerVisualizationCallback (std::function< UpdateVisualizerCallbackSignature > &visualizerCallback) |
| Регистрирует пользовательскую функцию обратного вызова, которая будет вызываться из потока регистрации для обновления облака точек, полученного после каждой итерации. Подробнее... |
|
| double | getFitnessScore (double max_range=std::numeric_limits< double >::max()) |
| Вычисляет евклидову оценку качества (например, среднее квадратов расстояний от исходного облака до целевого). Подробнее... |
|
| double | getFitnessScore (const std::vector< float > &distances_a, const std::vector< float > &distances_b) |
| Вычисляет евклидову оценку качества (например, среднее квадратов расстояний от исходного облака до целевого) по двум наборам расстояний между соответствиями (расстояний между точками исходного и целевого облаков). Подробнее... |
|
| bool | hasConverged () const |
| Возвращает состояние сходимости после последнего выполнения выравнивания. Подробнее... |
|
| void | align (PointCloudSource &output) |
| Запускает алгоритм регистрации, который оценивает преобразование и возвращает преобразованный исходный набор данных (входные данные) в output. Подробнее... |
|
| void | align (PointCloudSource &output, const Matrix4 &guess) |
| Запускает алгоритм регистрации, который оценивает преобразование и возвращает преобразованный исходный набор данных (входные данные) в output. Подробнее... |
|
| const std::string & | getClassName () const |
| Метод получения имени абстрактного класса. Подробнее... |
|
| bool | initCompute () |
| Инициализация внутренних вычислений. Подробнее... |
|
| bool | initComputeReciprocal () |
| Внутренние вычисления, необходимые для взаимного поиска. Подробнее... |
|
| void | addCorrespondenceRejector (const CorrespondenceRejectorPtr &rejector) |
| Добавляет новый фильтр соответствий в список. Подробнее... |
|
| std::vector< CorrespondenceRejectorPtr > | getCorrespondenceRejectors () |
| Возвращает список фильтров соответствий. Подробнее... |
|
| bool | removeCorrespondenceRejector (unsigned int i) |
| Удаляет i-й фильтр соответствий из списка. Подробнее... |
|
| void | clearCorrespondenceRejectors () |
| Очищает список фильтров соответствий. Подробнее... |
|
|
| |
| PCLBase () | |
| Пустой конструктор. Подробнее... |
|
| PCLBase (const PCLBase &base) | |
| Конструктор копирования. Подробнее... |
|
| virtual | ~PCLBase ()=default |
| Деструктор. Подробнее... |
|
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Предоставляет указатель на входной набор данных. Подробнее... |
|
| PointCloudConstPtr const | getInputCloud () const |
| Возвращает указатель на входной набор данных облака точек. Подробнее... |
|
| virtual void | setIndices (const IndicesPtr &indices) |
| Предоставляет указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const IndicesConstPtr &indices) |
| Предоставляет указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const PointIndicesConstPtr &indices) |
| Предоставляет указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
| Задает индексы точек, находящихся в интересующей области облака точек. Подробнее... |
|
| IndicesPtr | getIndices () |
| Возвращает указатель на используемый вектор индексов. Подробнее... |
|
| IndicesConstPtr const | getIndices () const |
| Возвращает указатель на используемый вектор индексов. Подробнее... |
|
| const PointSource & | operator[] (std::size_t pos) const |
| Переопределяет оператор PointCloud operator[] для сокращения кода. Подробнее... |
|
Защищённые функции-члены | |
| bool | searchForNeighbors (const PointCloudSource &cloud, int index, pcl::Indices &indices, std::vector< float > &distances) |
| Выполняет поиск ближайшего соседа для заданной точки. Подробнее... |
|
| virtual void | computeTransformation (PointCloudSource &output, const Matrix4 &guess)=0 |
| Абстрактный метод вычисления преобразования с начальным приближением. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызвать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызвать после завершения фактических вычислений. Подробнее... |
|
Защищённые атрибуты | |
| std::string | reg_name_ |
| Имя метода регистрации. Подробнее... |
|
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
| KdTreeReciprocalPtr | tree_reciprocal_ |
| Указатель на объект пространственного поиска для исходного облака. Подробнее... |
|
| int | nr_iterations_ {0} |
| Количество итераций, выполненных внутренней оптимизацией (используется внутри класса). Подробнее... |
|
| int | max_iterations_ {10} |
| Максимальное количество итераций внутренней оптимизации. Подробнее... |
|
| int | ransac_iterations_ {0} |
| Количество итераций алгоритма RANSAC. Подробнее... |
|
| PointCloudTargetConstPtr | target_ |
| Целевой набор входных облаков точек. Подробнее... |
|
| Matrix4 | final_transformation_ |
| Итоговая матрица преобразования, вычисленная методом регистрации после N итераций. Подробнее... |
|
| Matrix4 | transformation_ |
| Матрица преобразования, вычисленная методом регистрации. Подробнее... |
|
| Matrix4 | previous_transformation_ |
| Предыдущая матрица преобразования, вычисленная методом регистрации (используется внутри класса). Подробнее... |
|
| double | transformation_epsilon_ {0.0} |
| Максимальная разница между двумя последовательными преобразованиями, при которой считается, что сходимость достигнута (задаётся пользователем). Подробнее... |
|
| double | transformation_rotation_epsilon_ {0.0} |
| Максимальная разница вращения между двумя последовательными преобразованиями, при которой считается, что сходимость достигнута (задаётся пользователем). Подробнее... |
|
| double | euclidean_fitness_epsilon_ |
| Максимально допустимая евклидова ошибка между двумя последовательными шагами цикла ICP, при которой алгоритм считается сошедшимся. Подробнее... |
|
| double | corr_dist_threshold_ |
| Максимальный порог расстояния между двумя соответствующими точками в исходном и целевом облаках. Подробнее... |
|
| double | inlier_threshold_ {0.05} |
| Порог расстояния для внутренних точек во внутреннем цикле отбрасывания выбросов RANSAC. Подробнее... |
|
| bool | converged_ {false} |
| Хранит внутреннее состояние сходимости с учётом параметров пользователя. Подробнее... |
|
| unsigned int | min_number_correspondences_ {3} |
| Минимальное количество соответствий, необходимое алгоритму перед попыткой вычислить преобразование. Подробнее... |
|
| CorrespondencesPtr | correspondences_ |
| Набор соответствий, определённых на этом шаге ICP. Подробнее... |
|
| TransformationEstimationPtr | transformation_estimation_ |
| Объект TransformationEstimation, используемый для вычисления жёсткого преобразования 4x4. Подробнее... |
|
| CorrespondenceEstimationPtr | correspondence_estimation_ |
| Объект CorrespondenceEstimation, используемый для оценки соответствий между исходным и целевым облаками. Подробнее... |
|
| std::vector< CorrespondenceRejectorPtr > | correspondence_rejectors_ |
| Список используемых фильтров соответствий. Подробнее... |
|
| bool | target_cloud_updated_ {true} |
| Переменная, указывающая, появилось ли новое целевое облако, которое необходимо предварительно обработать повторно. Подробнее... |
|
| bool | source_cloud_updated_ {true} |
| Переменная, указывающая, появилось ли новое исходное облако, которое необходимо предварительно обработать повторно. Подробнее... |
|
| bool | force_no_recompute_ {false} |
| Флаг, который при установке запрещает повторное вычисление дерева для целевого облака. Подробнее... |
|
| bool | force_no_recompute_reciprocal_ {false} |
| Флаг, который при установке запрещает повторное вычисление дерева для исходного облака. Подробнее... |
|
| std::function< UpdateVisualizerCallbackSignature > | update_visualizer_ |
| Функция обратного вызова для обновления промежуточного положения исходного облака точек во время его регистрации относительно целевого облака точек. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор облаков точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку точек. Подробнее... |
|
Подробное описание
template<typename PointSource, typename PointTarget, typename Scalar = float>
class pcl::Registration< PointSource, PointTarget, Scalar >
Registration представляет базовый класс регистрации для методов общего назначения, подобных ICP.
Определение в строке 57 файла registration.h.
Документация по псевдонимам типов-членов
ConstPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const Registration<PointSource, PointTarget, Scalar> > |
Определение в строке 67 файла registration.h.
CorrespondenceEstimation
| using pcl::Registration< PointSource, PointTarget, Scalar >::CorrespondenceEstimation = pcl::registration::CorrespondenceEstimationBase<PointSource, PointTarget, Scalar> |
Определение в строке 91 файла registration.h.
CorrespondenceEstimationConstPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::CorrespondenceEstimationConstPtr = typename CorrespondenceEstimation::ConstPtr |
Определение в строке 94 файла registration.h.
CorrespondenceEstimationPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::CorrespondenceEstimationPtr = typename CorrespondenceEstimation::Ptr |
Определение в строке 93 файла registration.h.
CorrespondenceRejectorPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::CorrespondenceRejectorPtr = pcl::registration::CorrespondenceRejector::Ptr |
Определение в строке 69 файла registration.h.
KdTree
| using pcl::Registration< PointSource, PointTarget, Scalar >::KdTree = pcl::search::KdTree<PointTarget> |
Определение в строке 70 файла registration.h.
KdTreePtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::KdTreePtr = typename KdTree::Ptr |
Определение в строке 71 файла registration.h.
KdTreeReciprocal
| using pcl::Registration< PointSource, PointTarget, Scalar >::KdTreeReciprocal = pcl::search::KdTree<PointSource> |
Определение в строке 73 файла registration.h.
KdTreeReciprocalPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::KdTreeReciprocalPtr = typename KdTreeReciprocal::Ptr |
Определение в строке 74 файла registration.h.
Matrix4
| using pcl::Registration< PointSource, PointTarget, Scalar >::Matrix4 = Eigen::Matrix<Scalar, 4, 4> |
Определение в строке 59 файла registration.h.
PointCloudSource
| using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudSource = pcl::PointCloud<PointSource> |
Определение в строке 76 файла registration.h.
PointCloudSourceConstPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr |
Определение в строке 78 файла registration.h.
PointCloudSourcePtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudSourcePtr = typename PointCloudSource::Ptr |
Определение в строке 77 файла registration.h.
PointCloudTarget
| using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudTarget = pcl::PointCloud<PointTarget> |
Определение в строке 80 файла registration.h.
PointCloudTargetConstPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr |
Определение в строке 82 файла registration.h.
PointCloudTargetPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudTargetPtr = typename PointCloudTarget::Ptr |
Определение в строке 81 файла registration.h.
PointRepresentationConstPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr |
Определение в строке 84 файла registration.h.
Ptr
| using pcl::Registration< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<Registration<PointSource, PointTarget, Scalar> > |
Определение в строке 66 файла registration.h.
TransformationEstimation
| using pcl::Registration< PointSource, PointTarget, Scalar >::TransformationEstimation = typename pcl::registration:: TransformationEstimation<PointSource, PointTarget, Scalar> |
Определение в строке 86 файла registration.h.
TransformationEstimationConstPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::TransformationEstimationConstPtr = typename TransformationEstimation::ConstPtr |
Определение в строке 89 файла registration.h.
TransformationEstimationPtr
| using pcl::Registration< PointSource, PointTarget, Scalar >::TransformationEstimationPtr = typename TransformationEstimation::Ptr |
Определение в строке 88 файла registration.h.
UpdateVisualizerCallbackSignature
| using pcl::Registration< PointSource, PointTarget, Scalar >::UpdateVisualizerCallbackSignature = void(const pcl::PointCloud<PointSource>&, const pcl::Indices&, const pcl::PointCloud<PointTarget>&, const pcl::Indices&) |
Сигнатура функции обратного вызова для обновления промежуточного положения исходного облака точек во время его регистрации относительно целевого облака точек.
- Параметры
-
[in] cloud_src - облако точек, которое будет обновлено для совмещения с целевым облаком [in] indices_src - селектор точек в cloud_src [in] cloud_tgt - облако точек, относительно которого выполняется регистрация [in] indices_tgt - селектор точек в cloud_tgt
Определение в строке 103 файла registration.h.
Документация конструкторов и деструкторов
Registration()
| inline |
Конструктор без параметров.
Определение в строке 109 файла registration.h.
~Registration()
| overridedefault |
Деструктор.
Документация функций-членов
addCorrespondenceRejector()
| inline |
Добавляет новый фильтр соответствий в список.
- Параметры
-
[in] rejector новый фильтр соответствий для добавления
Пример кода:
CorrespondenceRejectorDistance rej; rej.setInputCloud<PointXYZ> (keypoints_src); rej.setInputTarget<PointXYZ> (keypoints_tgt); rej.setMaximumDistance (1); rej.setInputCorrespondences (all_correspondences); // or...
Определение в строке 515 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_rejectors_.
align() [1/2]
| inline |
Выполняет алгоритм регистрации, который оценивает преобразование и возвращает преобразованный исходный набор данных (входное облако) в output.
- Параметры
-
[out] output результирующий преобразованный входной набор данных облака точек
Определение в строке 168 файла registration.hpp.
align() [2/2]
| inline |
Выполняет алгоритм регистрации, который оценивает преобразование и возвращает преобразованный исходный набор данных (входное облако) в output.
- Параметры
-
[out] output результирующий преобразованный входной набор данных облака точек [in] guess начальная грубая оценка преобразования
Определение в строке 175 файла registration.hpp.
Ссылки: pcl::PointCloud< PointT >::header и pcl::PointCloud< PointT >::resize().
clearCorrespondenceRejectors()
| inline |
Очищает список фильтров соответствий.
Определение в строке 541 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_rejectors_.
computeTransformation()
| protectedpure virtual |
Абстрактный метод вычисления преобразования с начальным приближением.
Реализован в pcl::IterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, float > и pcl::GeneralizedIterativeClosestPoint< PointXYZRGBA, PointXYZRGBA >.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::setInputSource().
getClassName()
| inline |
Абстрактный метод получения имени класса.
Определение в строке 485 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::reg_name_.
Используется в pcl::RegistrationVisualizer< PointSource, PointTarget, Scalar >::setRegistration().
getCorrespondenceRejectors()
| inline |
Возвращает список фильтров соответствий.
Определение в строке 522 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_rejectors_.
getEuclideanFitnessEpsilon()
| inline |
Возвращает заданную пользователем максимально допустимую ошибку расстояния, при достижении которой алгоритм считается сошедшимся.
См. setEuclideanFitnessEpsilon
Определение в строке 412 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::euclidean_fitness_epsilon_.
getFinalTransformation()
| inline |
Возвращает итоговую матрицу преобразования, вычисленную методом регистрации.
Определение в строке 259 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::final_transformation_.
getFitnessScore() [1/2]
| inline |
Получить евклидову оценку качества (например, среднее значение квадратов расстояний от исходного облака до целевого) по двум наборам расстояний между соответствующими точками (расстояний между точками исходного и целевого облаков)
- Параметры
-
[in] distances_a первый набор расстояний между соответствующими точками [in] distances_b второй набор расстояний между соответствующими точками
Определение в строке 122 файла registration.hpp.
getFitnessScore() [2/2]
| inline |
Получить евклидову оценку качества (например, среднее значение квадратов расстояний от исходного облака до целевого)
- Параметры
-
[in] max_range максимально допустимое расстояние между точкой и соответствующей ей точкой в целевом облаке (по умолчанию: double::max)
Определение в строке 134 файла registration.hpp.
Ссылки: pcl::isXYZFinite() и pcl::transformPointCloud().
getInputSource()
| inline |
Получить указатель на входной набор данных исходного облака точек.
Определение в строке 189 файла registration.h.
Ссылки: pcl::PCLBase< PointSource >::input_.
getInputTarget()
| inline |
Получить указатель на входной набор данных целевого облака точек.
Определение в строке 202 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::target_.
getLastIncrementalTransformation()
| inline |
Получить последнюю матрицу инкрементального преобразования, вычисленную методом регистрации.
Определение в строке 267 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::transformation_.
getMaxCorrespondenceDistance()
| inline |
Получить максимальный порог расстояния между двумя соответствующими точками в исходном и целевом облаках.
Если расстояние превышает этот порог, точки будут исключены из процесса выравнивания.
Определение в строке 346 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::corr_dist_threshold_.
getMaximumIterations()
| inline |
Получить заданное пользователем максимальное число итераций внутренней оптимизации.
Определение в строке 285 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::max_iterations_.
getRANSACIterations()
| inline |
Получить заданное пользователем число итераций алгоритма RANSAC.
Определение в строке 301 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::ransac_iterations_.
getRANSACOutlierRejectionThreshold()
| inline |
Получить заданный пользователем порог расстояния до внутренней петли отбраковки выбросов, определяющий принадлежность точки к согласованным данным.
Определение в строке 324 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::inlier_threshold_.
getSearchMethodSource()
| inline |
Получить указатель на метод поиска соответствий в исходном облаке.
Определение в строке 251 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::tree_reciprocal_.
getSearchMethodTarget()
| inline |
Получить указатель на метод поиска соответствий в целевом облаке.
Определение в строке 226 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::tree_.
getTransformationEpsilon()
| inline |
Получить заданное пользователем значение эпсилон преобразования (максимально допустимую разность квадратов перемещений между двумя последовательными преобразованиями).
Определение в строке 367 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::transformation_epsilon_.
getTransformationRotationEpsilon()
| inline |
Получить заданное пользователем значение эпсилон поворота преобразования (максимально допустимую разность между двумя последовательными преобразованиями; эпсилон — это cos(угла) в представлении ось—угол).
Определение в строке 390 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::transformation_rotation_epsilon_.
hasConverged()
| inline |
Возвращает состояние сходимости после последнего выполнения align.
Определение в строке 463 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::converged_.
initCompute()
| bool pcl::Registration< PointSource, PointTarget, Scalar >::initCompute |
Инициализация внутренних вычислений.
Определение в строке 75 файла registration.hpp.
initComputeReciprocal()
| bool pcl::Registration< PointSource, PointTarget, Scalar >::initComputeReciprocal |
Внутренние вычисления, выполняемые при необходимости взаимного поиска.
Определение в строке 105 файла registration.hpp.
registerVisualizationCallback()
| inline |
Зарегистрировать пользовательскую функцию обратного вызова, которая будет вызываться из потока регистрации для обновления облака точек, полученного после каждой итерации.
- Параметры
-
[in] visualizerCallback ссылка на пользовательскую функцию обратного вызова
Определение в строке 432 файла registration.h.
Ссылки: pcl::PCLBase< PointSource >::input_, pcl::Registration< PointSource, PointTarget, Scalar >::target_ и pcl::Registration< PointSource, PointTarget, Scalar >::update_visualizer_.
Используется в pcl::RegistrationVisualizer< PointSource, PointTarget, Scalar >::setRegistration().
removeCorrespondenceRejector()
| inline |
Удалить i-й фильтр соответствий из списка.
- Параметры
-
[in] i позиция удаляемого фильтра соответствий в списке
Определение в строке 531 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_rejectors_.
searchForNeighbors()
| inlineprotected |
Найти ближайшего соседа заданной точки.
- Параметры
-
cloud набор данных облака точек для поиска ближайших соседей index индекс точки запроса indices результирующий вектор индексов k ближайших соседей distances результирующие расстояния от точки запроса до k ближайших соседей
Определение в строке 663 файла registration.h.
Ссылки: pcl::Registration< PointSource, PointTarget, Scalar >::tree_.
setCorrespondenceEstimation()
| inline |
Передаёт указатель на объект оценки соответствий.
(например, обычный поиск, взаимный поиск, поиск по нормали и т. д.)
- Параметры
-
[in] ce указатель на соответствующий объект оценки соответствий
Пример кода:
CorrespondenceEstimation<PointXYZ, PointXYZ>::Ptr ce (new CorrespondenceEstimation<PointXYZ, PointXYZ>); ce->setInputSource (source); ce->setInputTarget (target); icp.setCorrespondenceEstimation (ce); // or... CorrespondenceEstimationNormalShooting<PointNormal, PointNormal, PointNormal>::Ptr cens (new CorrespondenceEstimationNormalShooting<PointNormal, PointNormal>); ce->setInputSource (source); ce->setInputTarget (target); ce->setSourceNormals (source); ce->setTargetNormals (target); icp.setCorrespondenceEstimation (cens); pcl::registration::CorrespondenceEstimationBase::Ptrshared_ptr< CorrespondenceEstimationBase< PointSource, PointTarget, Scalar > > PtrDefinition: correspondence_estimation.h:63 pcl::registration::CorrespondenceEstimationBase::Ptr shared_ptr< CorrespondenceEstimationBase< PointSource, PointTarget, Scalar > > Ptr Definition: correspondence_estimation.h:63
Определение в строке 174 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_estimation_.
setEuclideanFitnessEpsilon()
| inline |
Задаёт максимально допустимую евклидову ошибку между двумя последовательными шагами цикла ICP, при превышении которой алгоритм считается сошедшимся.
Ошибка оценивается как сумма евклидовых расстояний между соответствиями, делённая на количество соответствий.
- Параметры
-
[in] epsilon максимально допустимая ошибка расстояния, при достижении которой алгоритм считается сошедшимся
Определение в строке 402 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::euclidean_fitness_epsilon_.
setInputSource()
| inlinevirtual |
Передаёт указатель на входное исходное облако (например, облако точек, которое требуется совместить с целевым облаком).
- Параметры
-
[in] cloud входное исходное облако точек
Переопределено в pcl::IterativeClosestPoint< PointSource, PointTarget, Scalar >, pcl::IterativeClosestPoint< PointSource, PointTarget, float > и pcl::JointIterativeClosestPoint< PointSource, PointTarget, Scalar >.
Определение в строке 47 файла registration.hpp.
Ссылки на pcl::PCLBase< PointT >::setInputCloud().
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::computeTransformation() и pcl::IterativeClosestPoint< PointSource, PointTarget, Scalar >::setInputSource().
setInputTarget()
| inlinevirtual |
Передаёт указатель на входное целевое облако (например, облако точек, с которым требуется совместить исходное облако).
- Параметры
-
[in] cloud входное целевое облако точек
Переопределено в pcl::PPFRegistration< PointSource, PointTarget >, pcl::NormalDistributionsTransform< PointSource, PointTarget, Scalar >, pcl::IterativeClosestPoint< PointSource, PointTarget, Scalar >, pcl::IterativeClosestPoint< PointSource, PointTarget, float > и pcl::JointIterativeClosestPoint< PointSource, PointTarget, Scalar >.
Определение в строке 61 файла registration.hpp.
Используется в pcl::IterativeClosestPoint< PointSource, PointTarget, Scalar >::setInputTarget() и pcl::NormalDistributionsTransform< PointSource, PointTarget, Scalar >::setInputTarget().
setMaxCorrespondenceDistance()
| inline |
Задаёт максимальный порог расстояния между двумя соответствующими точками исходного и целевого облаков.
Если расстояние превышает этот порог, точки игнорируются при совмещении.
- Параметры
-
[in] distance_threshold максимальный порог расстояния между точкой и соответствующей ей ближайшей соседней точкой, при котором точка учитывается при совмещении
Определение в строке 336 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::corr_dist_threshold_.
setMaximumIterations()
|
Задаёт максимальное число итераций внутреннего процесса оптимизации.
- Параметры
-
[in] nr_iterations максимальное число итераций внутреннего процесса оптимизации
Определение в строке 277 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::max_iterations_.
setPointRepresentation()
| inline |
Передаёт общий указатель Boost на объект PointRepresentation, который будет использоваться при сравнении точек.
- Параметры
-
[in] point_representation объект PointRepresentation, используемый k-D-деревом
Определение в строке 422 файла registration.h.
setRANSACIterations()
| inline |
Задаёт число итераций алгоритма RANSAC.
- Параметры
-
[in] ransac_iterations число итераций алгоритма RANSAC
Определение в строке 294 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::ransac_iterations_.
setRANSACOutlierRejectionThreshold()
| inline |
Задаёт порог расстояния до внутренней точки для внутреннего цикла отбраковки выбросов RANSAC.
Метод считает точку внутренней, если расстояние между индексом точки в целевых данных и индексом преобразованной исходной точки меньше заданного порога расстояния до внутренней точки. По умолчанию значение равно 0.05 м.
- Параметры
-
[in] inlier_threshold порог расстояния до внутренней точки для внутреннего цикла отбраковки выбросов RANSAC
Определение в строке 316 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::inlier_threshold_.
setSearchMethodSource()
| inline |
Передаёт указатель на поисковый объект, используемый для поиска соответствий в исходном облаке (обычно применяется при взаимном поиске соответствий).
- Параметры
-
[in] tree указатель на объект пространственного поиска. [in] force_no_recompute Если задано значение true, это дерево НИКОГДА не будет пересчитываться независимо от вызовов setInputSource. Используйте этот параметр, только если полностью уверены, что дерево будет задано правильно.
Определение в строке 239 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::force_no_recompute_reciprocal_, pcl::Registration< PointSource, PointTarget, Scalar >::source_cloud_updated_ и pcl::Registration< PointSource, PointTarget, Scalar >::tree_reciprocal_.
setSearchMethodTarget()
| inline |
Передаёт указатель на поисковый объект, используемый для поиска соответствий в целевом облаке.
- Параметры
-
[in] tree указатель на объект пространственного поиска. [in] force_no_recompute Если задано значение true, это дерево НИКОГДА не будет пересчитываться независимо от вызовов setInputTarget. Используйте этот параметр, только если уверены, что дерево будет задано правильно.
Определение в строке 215 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::force_no_recompute_, pcl::Registration< PointSource, PointTarget, Scalar >::target_cloud_updated_ и pcl::Registration< PointSource, PointTarget, Scalar >::tree_.
setTransformationEpsilon()
| inline |
Задаёт эпсилон преобразования (максимально допустимую разность квадратов переноса между двумя последовательными преобразованиями), при котором оптимизация считается сошедшейся к окончательному решению.
- Параметры
-
[in] epsilon эпсилон преобразования, при котором оптимизация считается сошедшейся к окончательному решению.
Определение в строке 358 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::transformation_epsilon_.
setTransformationEstimation()
| inline |
Передаёт указатель на объект оценки преобразования.
(например, SVD, метод «точка — плоскость» и т. д.)
- Параметры
-
[in] te указатель на соответствующий объект оценки преобразования
Пример кода:
TransformationEstimationPointToPlaneLLS<PointXYZ, PointXYZ>::Ptr trans_lls (new TransformationEstimationPointToPlaneLLS<PointXYZ, PointXYZ>); icp.setTransformationEstimation (trans_lls); // or... TransformationEstimationSVD<PointXYZ, PointXYZ>::Ptr trans_svd (new TransformationEstimationSVD<PointXYZ, PointXYZ>); icp.setTransformationEstimation (trans_svd);
Определение в строке 145 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::transformation_estimation_.
setTransformationRotationEpsilon()
| inline |
Задаёт эпсилон вращения преобразования (максимально допустимую разность вращения между двумя последовательными преобразованиями), при котором оптимизация считается сошедшейся к окончательному решению.
- Параметры
-
[in] epsilon эпсилон вращения преобразования, при котором оптимизация считается сошедшейся к окончательному решению (эпсилон — это cos(угла) в представлении ось — угол).
Определение в строке 380 файла registration.h.
Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::transformation_rotation_epsilon_.
Описание данных-членов
converged_
| protected |
Хранит внутреннее состояние сходимости с учётом параметров, заданных пользователем.
Определение в строке 613 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::hasConverged().
corr_dist_threshold_
| protected |
Максимальный порог расстояния между двумя соответствующими точками в исходном и целевом облаках.
Если расстояние превышает этот порог, точки будут проигнорированы в процессе совмещения.
Определение в строке 603 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getMaxCorrespondenceDistance(), pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT >::SampleConsensusInitialAlignment() и pcl::Registration< PointSource, PointTarget, Scalar >::setMaxCorrespondenceDistance().
correspondence_estimation_
| protected |
Объект CorrespondenceEstimation, используемый для определения соответствий между исходным и целевым облаками.
Определение в строке 629 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::setCorrespondenceEstimation().
correspondence_rejectors_
| protected |
Список используемых средств отбраковки соответствий.
Определение в строке 632 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::addCorrespondenceRejector(), pcl::Registration< PointSource, PointTarget, Scalar >::clearCorrespondenceRejectors(), pcl::Registration< PointSource, PointTarget, Scalar >::getCorrespondenceRejectors() и pcl::Registration< PointSource, PointTarget, Scalar >::removeCorrespondenceRejector().
correspondences_
| protected |
Набор соответствий, определённых на этом шаге ICP.
Определение в строке 621 файла registration.h.
euclidean_fitness_epsilon_
| protected |
Максимально допустимая евклидова ошибка между двумя последовательными шагами цикла ICP, при достижении которой алгоритм считается сошедшимся.
Ошибка оценивается как сумма евклидовых разностей между соответствиями, делённая на число соответствий.
Определение в строке 597 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getEuclideanFitnessEpsilon() и pcl::Registration< PointSource, PointTarget, Scalar >::setEuclideanFitnessEpsilon().
final_transformation_
| protected |
Итоговая матрица преобразования, оценённая методом совмещения после N итераций.
Определение в строке 573 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getFinalTransformation().
force_no_recompute_
| protected |
Флаг, который при установке означает, что дерево для целевого облака никогда не будет перестраиваться.
Определение в строке 644 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodTarget().
force_no_recompute_reciprocal_
| protected |
Флаг, который при установке означает, что дерево для исходного облака никогда не будет перестраиваться.
Определение в строке 648 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodSource().
inlier_threshold_
| protected |
Пороговое расстояние для включения точки в набор внутренних точек во внутреннем цикле отбраковки выбросов RANSAC.
Метод считает точку внутренней, если расстояние между индексом целевых данных и преобразованным индексом исходных данных меньше заданного порогового расстояния. Значение по умолчанию — 0.05.
Определение в строке 610 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getRANSACOutlierRejectionThreshold() и pcl::Registration< PointSource, PointTarget, Scalar >::setRANSACOutlierRejectionThreshold().
max_iterations_
| protected |
Максимальное число итераций внутренней оптимизации.
Значение по умолчанию — 10.
Определение в строке 563 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getMaximumIterations(), pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT >::SampleConsensusInitialAlignment(), pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::SampleConsensusPrerejective() и pcl::Registration< PointSource, PointTarget, Scalar >::setMaximumIterations().
min_number_correspondences_
| protected |
Минимальное число соответствий, необходимое алгоритму для оценки преобразования.
Значение по умолчанию — 3.
Определение в строке 618 файла registration.h.
nr_iterations_
| protected |
Число итераций внутренней оптимизации (используется внутри реализации).
Определение в строке 558 файла registration.h.
previous_transformation_
| protected |
Предыдущая матрица преобразования, оценённая методом совмещения (используется внутри реализации).
Определение в строке 580 файла registration.h.
ransac_iterations_
| protected |
Число итераций алгоритма RANSAC.
Определение в строке 566 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getRANSACIterations() и pcl::Registration< PointSource, PointTarget, Scalar >::setRANSACIterations().
reg_name_
| protected |
Название метода совмещения.
Определение в строке 548 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getClassName(), pcl::NormalDistributionsTransform2D< PointSource, PointTarget >::NormalDistributionsTransform2D(), pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT >::SampleConsensusInitialAlignment() и pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::SampleConsensusPrerejective().
source_cloud_updated_
| protected |
Переменная, указывающая, появилось ли новое исходное облако, которое необходимо предварительно обработать заново.
Это позволяет не перестраивать обратное kd-дерево исходного облака при каждом вызове метода determineCorrespondences ().
Определение в строке 641 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodSource().
target_
| protected |
Входной набор целевых облаков точек.
Определение в строке 569 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getInputTarget() и pcl::Registration< PointSource, PointTarget, Scalar >::registerVisualizationCallback().
target_cloud_updated_
| protected |
Переменная, указывающая, появилось ли новое целевое облако, которое необходимо предварительно обработать заново.
Это позволяет не перестраивать kd-дерево целевого облака при каждом вызове метода determineCorrespondences ().
Определение в строке 637 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodTarget().
transformation_
| protected |
Матрица преобразования, оценённая методом совмещения.
Определение в строке 576 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getLastIncrementalTransformation().
transformation_epsilon_
| protected |
Максимальное различие между двумя последовательными преобразованиями, при котором считается, что алгоритм сошёлся (задаётся пользователем).
Определение в строке 585 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getTransformationEpsilon() и pcl::Registration< PointSource, PointTarget, Scalar >::setTransformationEpsilon().
transformation_estimation_
| protected |
Объект TransformationEstimation, используемый для вычисления жёсткого преобразования 4x4.
Определение в строке 625 файла registration.h.
Используется в pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT >::SampleConsensusInitialAlignment(), pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::SampleConsensusPrerejective() и pcl::Registration< PointSource, PointTarget, Scalar >::setTransformationEstimation().
transformation_rotation_epsilon_
| protected |
Максимальная разница углов поворота между двумя последовательными преобразованиями, при которой сходимость считается достигнутой (задаётся пользователем).
Определение в строке 590 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getTransformationRotationEpsilon() и pcl::Registration< PointSource, PointTarget, Scalar >::setTransformationRotationEpsilon().
tree_
| protected |
Указатель на объект пространственного поиска.
Определение в строке 551 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getSearchMethodTarget(), pcl::Registration< PointSource, PointTarget, Scalar >::searchForNeighbors() и pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodTarget().
tree_reciprocal_
| protected |
Указатель на объект пространственного поиска исходного облака.
Определение в строке 554 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getSearchMethodSource() и pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodSource().
update_visualizer_
| protected |
Функция обратного вызова для обновления положения исходного облака точек на промежуточных этапах его совмещения с целевым облаком точек.
Определение в строке 653 файла registration.h.
Используется в pcl::Registration< PointSource, PointTarget, Scalar >::registerVisualizationCallback().
Документация этого класса создана на основе следующих файлов:
- pcl/registration/registration.h
- pcl/registration/impl/registration.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_registration.html
