Spec-Zone.ru › PointCloudLibrary

Registration представляет базовый класс регистрации для методов общего назначения, похожих на ICP. Подробнее...

#include <pcl/registration/registration.h>

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

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

using Matrix4 = Eigen::Matrix< Scalar, 4, 4 >
using Ptr = shared_ptr< Registration< PointSource, PointTarget, Scalar > >
using ConstPtr = shared_ptr< const Registration< PointSource, PointTarget, Scalar > >
using CorrespondenceRejectorPtr = pcl::registration::CorrespondenceRejector::Ptr
using KdTree = pcl::search::KdTree< PointTarget >
using KdTreePtr = typename KdTree::Ptr
using KdTreeReciprocal = pcl::search::KdTree< PointSource >
using KdTreeReciprocalPtr = typename KdTreeReciprocal::Ptr
using PointCloudSource = pcl::PointCloud< PointSource >
using PointCloudSourcePtr = typename PointCloudSource::Ptr
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
using PointCloudTarget = pcl::PointCloud< PointTarget >
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
using PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr
using TransformationEstimation = typename pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
using TransformationEstimationPtr = typename TransformationEstimation::Ptr
using TransformationEstimationConstPtr = typename TransformationEstimation::ConstPtr
using CorrespondenceEstimation = pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >
using CorrespondenceEstimationPtr = typename CorrespondenceEstimation::Ptr
using CorrespondenceEstimationConstPtr = typename CorrespondenceEstimation::ConstPtr
using UpdateVisualizerCallbackSignature = void(const pcl::PointCloud< PointSource > &, const pcl::Indices &, const pcl::PointCloud< PointTarget > &, const pcl::Indices &)
Подпись обратного вызова для функции, обновляющей промежуточное положение облака точек исходного облака во время его регистрации с облаком целевых точек. Подробнее...
- Общедоступные типы, унаследованные от pcl::PCLBase< PointSource >
using PointCloud = pcl::PointCloud< PointSource >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

Публичные функции-члены

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 shared на 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
Возвращает состояние сходимости после последнего запуска align. Подробнее...
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 ()
Очистить список отбрасывателей соответствий. Подробнее...
- Публичные члены-функции унаследованные от pcl::PCLBase< PointSource >
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[] для сокращения кода. Подробнее...

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

bool searchForNeighbors (const PointCloudSource &cloud, int index, pcl::Indices &indices, std::vector< float > &distances)
Поиск ближайшего соседа заданной точки. Подробнее...
virtual void computeTransformation (PointCloudSource &output, const Matrix4 &guess)=0
Абстрактный метод вычисления преобразования с начальным приближением. Подробнее...
- Защищенные члены-функции, унаследованные от pcl::PCLBase< PointSource >
bool initCompute ()
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
bool deinitCompute ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...

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

std::string reg_name_
Имя метода регистрации. Подробнее...
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
KdTreeReciprocalPtr tree_reciprocal_
Указатель на объект пространственного поиска источника. Подробнее...
int nr_iterations_
Количество итераций, выполненных внутренней оптимизацией (используется внутри). Подробнее...
int max_iterations_
Максимальное количество итераций, которые должна выполнить внутренняя оптимизация. Подробнее...
int ransac_iterations_
Количество итераций, которые должен выполнить RANSAC. Подробнее...
PointCloudTargetConstPtr target_
Входной целевой набор данных облака точек. Подробнее...
Matrix4 final_transformation_
Итоговая матрица преобразования, оцененная методом регистрации после N итераций. Подробнее...
Matrix4 transformation_
Матрица преобразования, оцененная методом регистрации. Подробнее...
Matrix4 previous_transformation_
Предыдущая матрица преобразования, оцененная методом регистрации (используется внутри). Подробнее...
double transformation_epsilon_
Максимальная разница между двумя последовательными преобразованиями для определения сходимости (задаётся пользователем). Подробнее...
double transformation_rotation_epsilon_
Максимальная разница вращения между двумя последовательными преобразованиями для определения сходимости (задаётся пользователем). Подробнее...
double euclidean_fitness_epsilon_
Максимально допустимая евклидова ошибка между двумя последовательными шагами в цикле ICP, прежде чем алгоритм будет считаться сошедшимся. Подробнее...
double corr_dist_threshold_
Максимальный пороговый уровень расстояния между двумя соответствующими точками в источнике <-> цели. Подробнее...
double inlier_threshold_
Пороговый уровень расстояния для внутренних выбросов в цикле исключения выбросов RANSAC. Подробнее...
bool converged_
Содержит внутреннее состояние сходимости, заданное параметрами пользователя. Подробнее...
unsigned int min_number_correspondences_
Минимальное количество соответствий, необходимых алгоритму перед попыткой оценить преобразование. Подробнее...
CorrespondencesPtr correspondences_
Набор соответствий, определённых на этом шаге ICP. Подробнее...
TransformationEstimationPtr transformation_estimation_
Объект TransformationEstimation, используемый для расчёта 4x4 ригидного преобразования. Подробнее...
CorrespondenceEstimationPtr correspondence_estimation_
Объект CorrespondenceEstimation, используемый для оценки соответствий между облаками точек источника и цели. Подробнее...
std::vector< CorrespondenceRejectorPtr > correspondence_rejectors_
Список корреспондентских реджекторов для использования. Подробнее...
bool target_cloud_updated_
Переменная, хранящая информацию о наличии нового облака целевых точек, что означает необходимость его повторной предварительной обработки. Подробнее...
bool source_cloud_updated_
Переменная, хранящая информацию о наличии нового облака исходных точек, что означает необходимость его повторной предварительной обработки. Подробнее...
bool force_no_recompute_
Флаг, который, если установлен, означает, что дерево, работающее с облаком целевых точек, никогда не будет пересчитано. Подробнее...
bool force_no_recompute_reciprocal_
Флаг, который, если установлен, означает, что дерево, работающее с облаком исходных точек, никогда не будет пересчитано. Подробнее...
std::function< UpdateVisualizerCallbackSignature > update_visualizer_
Функция обратного вызова для обновления промежуточного положения облака точек источника во время его регистрации с облаком точек цели. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::PCLBase< PointSource >
PointCloudConstPtr input_
Входные данные облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
bool use_indices_
Устанавливается в true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входные данные PointCloud. Подробнее...

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

шаблон<typename PointSource, typename PointTarget, typename Scalar = float>
класс pcl::Registration< PointSource, PointTarget, Scalar >

Registration представляет базовый класс регистрации для методов общего назначения, похожих на ICP.

Автор
Radu B. Rusu, Michael Dixon

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

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

ConstPtr

шаблон<typename PointSource , typename PointTarget , typename Scalar = float>
использование pcl::Registration< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const Registration<PointSource, PointTarget, Scalar> >

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

CorrespondenceEstimation

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::CorrespondenceEstimation = pcl::registration::CorrespondenceEstimationBase<PointSource, PointTarget, Scalar>

Definition at line 91 of file registration.h.

CorrespondenceEstimationConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::CorrespondenceEstimationConstPtr = typename CorrespondenceEstimation::ConstPtr

Definition at line 94 of file registration.h.

CorrespondenceEstimationPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::CorrespondenceEstimationPtr = typename CorrespondenceEstimation::Ptr

Definition at line 93 of file registration.h.

CorrespondenceRejectorPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::CorrespondenceRejectorPtr = pcl::registration::CorrespondenceRejector::Ptr

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

KdTree

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

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

KdTreePtr

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

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

KdTreeReciprocal

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::KdTreeReciprocal = pcl::search::KdTree<PointSource>

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

KdTreeReciprocalPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::KdTreeReciprocalPtr = typename KdTreeReciprocal::Ptr

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

Matrix4

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::Matrix4 = Eigen::Matrix<Scalar, 4, 4>

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

PointCloudSource

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudSource = pcl::PointCloud<PointSource>

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

PointCloudSourceConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr

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

PointCloudSourcePtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudSourcePtr = typename PointCloudSource::Ptr

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

PointCloudTarget

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudTarget = pcl::PointCloud<PointTarget>

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

PointCloudTargetConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr

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

PointCloudTargetPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::PointCloudTargetPtr = typename PointCloudTarget::Ptr

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

PointRepresentationConstPtr

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

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

Ptr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<Registration<PointSource, PointTarget, Scalar> >

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

TransformationEstimation

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::TransformationEstimation = typename pcl::registration:: TransformationEstimation<PointSource, PointTarget, Scalar>

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

TransformationEstimationConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::TransformationEstimationConstPtr = typename TransformationEstimation::ConstPtr

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

TransformationEstimationPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::Registration< PointSource, PointTarget, Scalar >::TransformationEstimationPtr = typename TransformationEstimation::Ptr

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

UpdateVisualizerCallbackSignature

template<typename PointSource , typename PointTarget , typename Scalar = float>
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()

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

Пустой конструктор.

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

~Registration()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::Registration< PointSource, PointTarget, Scalar >::~Registration ( )
overridedefault

Деструктор.

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

addCorrespondenceRejector()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::addCorrespondenceRejector ( const CorrespondenceRejectorPtr & rejector )
inline

Добавить новый отбрасыватель соответствий в список.

Параметры
[in] rejector новый отбрасыватель соответствий для добавления

Пример кода:

CorrespondenceRejectorDistance rej;
rej.setInputCloud<PointXYZ> (keypoints_src);
rej.setInputTarget<PointXYZ> (keypoints_tgt);
rej.setMaximumDistance (1);
rej.setInputCorrespondences (all_correspondences);
 
// or...

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_rejectors_.

align() [1/2]

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::Registration< PointSource, PointTarget, Scalar >::align ( PointCloudSource & output )
inline

Вызов алгоритма регистрации, который оценивает преобразование и возвращает преобразованный исходный (входной) как output.

Параметры
[out] output полученный преобразованный входной набор точек

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

align() [2/2]

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::Registration< PointSource, PointTarget, Scalar >::align ( PointCloudSource & output,
const Matrix4 & guess
)
inline

Вызов алгоритма регистрации, который оценивает преобразование и возвращает преобразованный исходный (входной) как output.

Параметры
[out] output полученный преобразованный входной набор точек
[in] guess первоначальная грубая оценка преобразования

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

Ссылки на pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize(), и pcl::PointCloud< PointT >::width.

clearCorrespondenceRejectors()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::clearCorrespondenceRejectors ( )
inline

Очистить список отбрасывателей соответствий.

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_rejectors_.

computeTransformation()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual void pcl::Registration< PointSource, PointTarget, Scalar >::computeTransformation ( PointCloudSource & output,
const Matrix4 & guess
)
protectedpure virtual

Абстрактный метод вычисления преобразования с начальной оценкой.

Реализован в pcl::IterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, float >, и pcl::GeneralizedIterativeClosestPoint< PointXYZRGBA, PointXYZRGBA >.

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::setInputSource().

getClassName()

template<typename PointSource , typename PointTarget , typename Scalar = float>
const std::string& pcl::Registration< PointSource, PointTarget, Scalar >::getClassName ( ) const
inline

Метод получения имени абстрактного класса.

Определено в строке 497 файла registration.h.

Ссылается на pcl::Registration< PointSource, PointTarget, Scalar >::reg_name_.

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

getCorrespondenceRejectors()

template<typename PointSource , typename PointTarget , typename Scalar = float>
std::vector<CorrespondenceRejectorPtr> pcl::Registration< PointSource, PointTarget, Scalar >::getCorrespondenceRejectors ( )
inline

Получение списка корреспондентских отбрасывателей.

Определено в строке 534 файла registration.h.

Ссылается на pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_rejectors_.

getEuclideanFitnessEpsilon()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::getEuclideanFitnessEpsilon ( )
inline

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

См. setEuclideanFitnessEpsilon

Определено в строке 424 файла registration.h.

Ссылается на pcl::Registration< PointSource, PointTarget, Scalar >::euclidean_fitness_epsilon_.

getFinalTransformation()

template<typename PointSource , typename PointTarget , typename Scalar = float>
Matrix4 pcl::Registration< PointSource, PointTarget, Scalar >::getFinalTransformation ( )
inline

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

Определено в строке 271 файла registration.h.

Ссылается на pcl::Registration< PointSource, PointTarget, Scalar >::final_transformation_.

getFitnessScore() [1/2]

template<typename PointSource , typename PointTarget , typename Scalar >
double pcl::Registration< PointSource, PointTarget, Scalar >::getFitnessScore ( const std::vector< float > & distances_a,
const std::vector< float > & distances_b
)
inline

Получение Евклидовой оценки соответствия (например, среднее квадратичных расстояний от источника до целевого объекта) из двух наборов расстояний соответствия (расстояния между точками источника и целевого объекта).

Parameters
[in] distances_a первый набор расстояний между соответствиями
[in] distances_b второй набор расстояний между соответствиями

Определено в строке 122 файла registration.hpp.

getFitnessScore() [2/2]

template<typename PointSource , typename PointTarget , typename Scalar >
double pcl::Registration< PointSource, PointTarget, Scalar >::getFitnessScore ( double max_range = std::numeric_limits<double>::max() )
inline

Получение Евклидовой оценки соответствия (например, среднее квадратичных расстояний от источника до целевого объекта).

Parameters
[in] max_range максимальное допустимое расстояние между точкой и её соответствием в целевом объекте (по умолчанию: double::max)

Определено в строке 134 файла registration.hpp.

Ссылается на pcl::transformPointCloud().

getInputSource()

template<typename PointSource , typename PointTarget , typename Scalar = float>
PointCloudSourceConstPtr const pcl::Registration< PointSource, PointTarget, Scalar >::getInputSource ( )
inline

Получение указателя на целевой набор данных входного облака точек.

Определено в строке 201 файла registration.h.

Ссылается на pcl::PCLBase< PointSource >::input_.

getInputTarget()

template<typename PointSource , typename PointTarget , typename Scalar = float>
PointCloudTargetConstPtr const pcl::Registration< PointSource, PointTarget, Scalar >::getInputTarget ( )
inline

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

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::target_.

getLastIncrementalTransformation()

template<typename PointSource , typename PointTarget , typename Scalar = float>
Matrix4 pcl::Registration< PointSource, PointTarget, Scalar >::getLastIncrementalTransformation ( )
inline

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

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::transformation_.

getMaxCorrespondenceDistance()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::getMaxCorrespondenceDistance ( )
inline

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

Если расстояние больше этого порога, точки будут игнорироваться в процессе выравнивания.

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::corr_dist_threshold_.

getMaximumIterations()

template<typename PointSource , typename PointTarget , typename Scalar = float>
int pcl::Registration< PointSource, PointTarget, Scalar >::getMaximumIterations ( )
inline

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

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::max_iterations_.

getRANSACIterations()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::getRANSACIterations ( )
inline

Получить количество итераций, которое RANSAC должен выполнить, установленное пользователем.

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::ransac_iterations_.

getRANSACOutlierRejectionThreshold()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::getRANSACOutlierRejectionThreshold ( )
inline

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

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::inlier_threshold_.

getSearchMethodSource()

template<typename PointSource , typename PointTarget , typename Scalar = float>
KdTreeReciprocalPtr pcl::Registration< PointSource, PointTarget, Scalar >::getSearchMethodSource ( ) const
inline

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

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::tree_reciprocal_.

getSearchMethodTarget()

template<typename PointSource , typename PointTarget , typename Scalar = float>
KdTreePtr pcl::Registration< PointSource, PointTarget, Scalar >::getSearchMethodTarget ( ) const
inline

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

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

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

getTransformationEpsilon()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::getTransformationEpsilon ( )
inline

Получить значение эпсилон преобразования (максимальное разрешённое квадратичное различие в смещении между двумя последовательными преобразованиями), заданное пользователем.

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::transformation_epsilon_.

getTransformationRotationEpsilon()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::getTransformationRotationEpsilon ( )
inline

Получить значение эпсилон вращения преобразования (максимальное разрешённое различие между двумя последовательными преобразованиями), заданное пользователем (эпсилон — это cos(угла) в представлении оси-угла).

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::transformation_rotation_epsilon_.

hasConverged()

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::Registration< PointSource, PointTarget, Scalar >::hasConverged ( ) const
inline

Возвращает состояние сходимости после последнего выполнения выравнивания.

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::converged_.

initCompute()

template<typename PointSource , typename PointTarget , typename Scalar >
bool pcl::Registration< PointSource, PointTarget, Scalar >::initCompute

Инициализация внутренней вычислительной операции.

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

initComputeReciprocal()

template<typename PointSource , typename PointTarget , typename Scalar >
bool pcl::Registration< PointSource, PointTarget, Scalar >::initComputeReciprocal

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

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

registerVisualizationCallback()

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::Registration< PointSource, PointTarget, Scalar >::registerVisualizationCallback ( std::function< UpdateVisualizerCallbackSignature > & visualizerCallback )
inline

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

Параметры
[in] visualizerCallback ссылка на пользовательскую функцию обратного вызова

Определение в строке 444 файла 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()

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::Registration< PointSource, PointTarget, Scalar >::removeCorrespondenceRejector ( unsigned int i )
inline

Удаление i-го отбрасывателя соответствий из списка.

Параметры
[in] i позиция отбрасывателя соответствий в списке для удаления

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_rejectors_.

searchForNeighbors()

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::Registration< PointSource, PointTarget, Scalar >::searchForNeighbors ( const PointCloudSource & cloud,
int index,
pcl::Indices & indices,
std::vector< float > & distances
)
inlineprotected

Поиск ближайшего соседа заданной точки.

Параметры
cloud облако точек для поиска ближайшего соседа
index индекс точки запроса
indices результирующий вектор индексов, представляющий k ближайших соседей
distances результирующие расстояния от точки запроса до k ближайших соседей

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

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

setCorrespondenceEstimation()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setCorrespondenceEstimation ( const CorrespondenceEstimationPtr & ce )
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

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_estimation_.

setEuclideanFitnessEpsilon()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setEuclideanFitnessEpsilon ( double epsilon )
inline

Установите максимальную допустимую эвклидову ошибку между двумя последовательными шагами в цикле ICP, прежде чем алгоритм будет считаться сошедшимся.

Ошибка оценивается как сумма разностей между соответствиями в эвклидовом смысле, деленная на количество соответствий.

Параметры
[in] epsilon максимально допустимая ошибка расстояния, прежде чем алгоритм будет считаться сошедшимся

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::euclidean_fitness_epsilon_.

setInputSource()

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::Registration< PointSource, PointTarget, Scalar >::setInputSource ( const PointCloudSourceConstPtr & cloud )
inlinevirtual

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

Параметры
[in] cloud входное облако точек источника

setInputTarget()

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::Registration< PointSource, PointTarget, Scalar >::setInputTarget ( const PointCloudTargetConstPtr & cloud )
inlinevirtual

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

Параметры
[in] cloud входное облако точек целевого

setMaxCorrespondenceDistance()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setMaxCorrespondenceDistance ( double distance_threshold )
inline

Установите максимальное пороговое значение расстояния между двумя соответствующими точками в источнике <-> целевом.

Если расстояние больше этого порога, точки будут игнорироваться в процессе выравнивания.

Parameters
[in] distance_threshold максимальное пороговое значение расстояния между точкой и ее ближайшим соответствующим соседом для того, чтобы она учитывалась в процессе выравнивания

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::corr_dist_threshold_.

setMaximumIterations()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setMaximumIterations ( int nr_iterations )
inline

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

Parameters
[in] nr_iterations максимальное количество итераций, которое должна выполнять внутренняя оптимизация

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::max_iterations_.

setPointRepresentation()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setPointRepresentation ( const PointRepresentationConstPtr & point_representation )
inline

Укажите boost shared pointer на PointRepresentation для использования при сравнении точек.

Parameters
[in] point_representation PointRepresentation для использования деревом k-D

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

setRANSACIterations()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setRANSACIterations ( int ransac_iterations )
inline

Установите количество итераций, которое должно выполнить RANSAC.

Parameters
[in] ransac_iterations количество итераций, которое должно выполнить RANSAC

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::ransac_iterations_.

setRANSACOutlierRejectionThreshold()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setRANSACOutlierRejectionThreshold ( double inlier_threshold )
inline

Установите пороговое значение расстояния для инлайнеров для внутреннего цикла RANSAC по отклонению выбросов.

Метод рассматривает точку как инлайнер, если расстояние между индексом целевых данных и индексом преобразованного источника меньше заданного порогового значения расстояния для инлайнеров. По умолчанию значение равно 0,05 м.

Parameters
[in] inlier_threshold пороговое значение расстояния для инлайнеров для внутреннего цикла RANSAC по отклонению выбросов

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::inlier_threshold_.

setSearchMethodSource()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodSource ( const KdTreeReciprocalPtr & tree,
bool force_no_recompute = false
)
inline

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

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

Определение в строке 251 файла 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()

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

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

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

Определение в строке 227 файла 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()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setTransformationEpsilon ( double epsilon )
inline

Установите значение эпсилон преобразования (максимальное допустимое значение квадрата разницы смещений между двумя последовательными преобразованиями), для того чтобы оптимизация считалась сошедшей к окончательному решению.

Parameters
[in] epsilon значение эпсилон преобразования для того, чтобы оптимизация считалась сошедшей к окончательному решению.

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::transformation_epsilon_.

setTransformationEstimation()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setTransformationEstimation ( const TransformationEstimationPtr & te )
inline

Укажите указатель на объект оценки преобразования.

(например, SVD, точка до плоскости и т. д.)

Parameters
[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);

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::transformation_estimation_.

setTransformationRotationEpsilon()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setTransformationRotationEpsilon ( double epsilon )
inline

Установите значение эпсилон вращения преобразования (максимальное допустимое различие вращения между двумя последовательными преобразованиями) для того, чтобы оптимизация считалась сошедшей к окончательному решению.

Parameters
[in] epsilon значение эпсилон вращения преобразования для того, чтобы оптимизация считалась сошедшей к окончательному решению (эпсилон — это cos(угол) в представлении оси-угла).

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

Ссылки на pcl::Registration< PointSource, PointTarget, Scalar >::transformation_rotation_epsilon_.

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

converged_

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::Registration< PointSource, PointTarget, Scalar >::converged_
protected

Содержит внутреннее состояние сходимости, заданное пользовательскими параметрами.

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

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

corr_dist_threshold_

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::corr_dist_threshold_
protected

Максимальное пороговое значение расстояния между двумя соответствующими точками в источнике <-> целевом.

Если расстояние больше этого порога, точки игнорируются в процессе выравнивания.

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

Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getMaxCorrespondenceDistance(), pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT >::SampleConsensusInitialAlignment() и pcl::Registration< PointSource, PointTarget, Scalar >::setMaxCorrespondenceDistance().

correspondence_estimation_

template<typename PointSource , typename PointTarget , typename Scalar = float>
CorrespondenceEstimationPtr pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_estimation_
protected

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

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

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

correspondence_rejectors_

template<typename PointSource , typename PointTarget , typename Scalar = float>
std::vector<CorrespondenceRejectorPtr> pcl::Registration< PointSource, PointTarget, Scalar >::correspondence_rejectors_
protected

Список корреспондентских отбрасывателей для использования.

Определение в строке 644 файла 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_

template<typename PointSource , typename PointTarget , typename Scalar = float>
CorrespondencesPtr pcl::Registration< PointSource, PointTarget, Scalar >::correspondences_
protected

Набор соответствий, определенных на данном шаге ICP.

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

euclidean_fitness_epsilon_

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::euclidean_fitness_epsilon_
protected

Максимальная разрешенная ошибка Евклида между двумя последовательными шагами в цикле ICP, прежде чем алгоритм считается сошедшимся.

Ошибка оценивается как сумма разностей между соответствиями в евклидовом смысле, деленная на количество соответствий.

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

Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getEuclideanFitnessEpsilon() и pcl::Registration< PointSource, PointTarget, Scalar >::setEuclideanFitnessEpsilon().

final_transformation_

template<typename PointSource , typename PointTarget , typename Scalar = float>
Matrix4 pcl::Registration< PointSource, PointTarget, Scalar >::final_transformation_
protected

Конечная матрица преобразования, оцененная методом регистрации после N итераций.

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

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

force_no_recompute_

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::Registration< PointSource, PointTarget, Scalar >::force_no_recompute_
protected

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

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

Ссылка на pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodTarget().

force_no_recompute_reciprocal_

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::Registration< PointSource, PointTarget, Scalar >::force_no_recompute_reciprocal_
protected

Флаг, который, если установлен, означает, что дерево, работающее с исходным облаком, никогда не будет пересчитано.

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

Ссылка на pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodSource().

inlier_threshold_

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::inlier_threshold_
protected

Пороговое значение расстояния до констант для внутреннего цикла удаления выбросов RANSAC.

Метод рассматривает точку как константу, если расстояние между индексом данных целевой точки и индексом преобразованной исходной точки меньше заданного порогового значения расстояния до констант. Значение по умолчанию равно 0,05.

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

Ссылка на pcl::Registration< PointSource, PointTarget, Scalar >::getRANSACOutlierRejectionThreshold() и pcl::Registration< PointSource, PointTarget, Scalar >::setRANSACOutlierRejectionThreshold().

max_iterations_

template<typename PointSource , typename PointTarget , typename Scalar = float>
int pcl::Registration< PointSource, PointTarget, Scalar >::max_iterations_
protected

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

Значение по умолчанию равно 10.

Определение в строке 575 файла 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_

template<typename PointSource , typename PointTarget , typename Scalar = float>
unsigned int pcl::Registration< PointSource, PointTarget, Scalar >::min_number_correspondences_
protected

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

Значение по умолчанию равно 3.

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

nr_iterations_

template<typename PointSource , typename PointTarget , typename Scalar = float>
int pcl::Registration< PointSource, PointTarget, Scalar >::nr_iterations_
protected

Количество итераций, выполненных внутренней оптимизацией (используется внутри).

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

previous_transformation_

template<typename PointSource , typename PointTarget , typename Scalar = float>
Matrix4 pcl::Registration< PointSource, PointTarget, Scalar >::previous_transformation_
protected

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

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

ransac_iterations_

template<typename PointSource , typename PointTarget , typename Scalar = float>
int pcl::Registration< PointSource, PointTarget, Scalar >::ransac_iterations_
protected

Количество итераций, которое должно выполняться RANSAC.

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

Ссылка на pcl::Registration< PointSource, PointTarget, Scalar >::getRANSACIterations() и pcl::Registration< PointSource, PointTarget, Scalar >::setRANSACIterations().

reg_name_

template<typename PointSource , typename PointTarget , typename Scalar = float>
std::string pcl::Registration< PointSource, PointTarget, Scalar >::reg_name_
protected

Имя метода регистрации.

Определение в строке 560 файла 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_

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::Registration< PointSource, PointTarget, Scalar >::source_cloud_updated_
protected

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

Таким образом, мы избегаем повторного построения взаимного kd-дерева для облака исходных точек каждый раз, когда вызывается метод determineCorrespondences ().

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

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

target_

template<typename PointSource , typename PointTarget , typename Scalar = float>
PointCloudTargetConstPtr pcl::Registration< PointSource, PointTarget, Scalar >::target_
protected

Целевое облако точек входных данных.

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

Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getInputTarget() и pcl::Registration< PointSource, PointTarget, Scalar >::registerVisualizationCallback().

target_cloud_updated_

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::Registration< PointSource, PointTarget, Scalar >::target_cloud_updated_
protected

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

Таким образом, мы избегаем повторного построения kd-дерева для целевого облака каждый раз, когда вызывается метод determineCorrespondences ().

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

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

transformation_

template<typename PointSource , typename PointTarget , typename Scalar = float>
Matrix4 pcl::Registration< PointSource, PointTarget, Scalar >::transformation_
protected

Матрица преобразования, вычисленная методом регистрации.

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

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

transformation_epsilon_

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::transformation_epsilon_
protected

Максимальное различие между двумя последовательными преобразованиями для определения сходимости (определяется пользователем).

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

Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getTransformationEpsilon() и pcl::Registration< PointSource, PointTarget, Scalar >::setTransformationEpsilon().

transformation_estimation_

template<typename PointSource , typename PointTarget , typename Scalar = float>
TransformationEstimationPtr pcl::Registration< PointSource, PointTarget, Scalar >::transformation_estimation_
protected

Объект TransformationEstimation, используемый для расчета 4x4 матрицы жесткого преобразования.

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

Используется в pcl::SampleConsensusInitialAlignment< PointSource, PointTarget, FeatureT >::SampleConsensusInitialAlignment(), pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::SampleConsensusPrerejective() и pcl::Registration< PointSource, PointTarget, Scalar >::setTransformationEstimation().

transformation_rotation_epsilon_

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::Registration< PointSource, PointTarget, Scalar >::transformation_rotation_epsilon_
protected

Максимальное различие в повороте между двумя последовательными преобразованиями для определения сходимости (определяется пользователем).

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

Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getTransformationRotationEpsilon() и pcl::Registration< PointSource, PointTarget, Scalar >::setTransformationRotationEpsilon().

tree_

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

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

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

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

tree_reciprocal_

template<typename PointSource , typename PointTarget , typename Scalar = float>
KdTreeReciprocalPtr pcl::Registration< PointSource, PointTarget, Scalar >::tree_reciprocal_
protected

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

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

Используется в pcl::Registration< PointSource, PointTarget, Scalar >::getSearchMethodSource() и pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodSource().

update_visualizer_

template<typename PointSource , typename PointTarget , typename Scalar = float>
std::function<UpdateVisualizerCallbackSignature> pcl::Registration< PointSource, PointTarget, Scalar >::update_visualizer_
protected

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

Определение в строке 665 файла 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

Spec-Zone.ru

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