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 на 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 ()
Очищает список фильтров соответствий. Подробнее...
- Общедоступные функции-члены, унаследованные от 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 operator[] для сокращения кода. Подробнее...

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

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_ {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_
Функция обратного вызова для обновления промежуточного положения исходного облака точек во время его регистрации относительно целевого облака точек. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointSource >
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.

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

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

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

ConstPtr

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

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

CorrespondenceEstimationConstPtr

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

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

CorrespondenceEstimationPtr

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

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

Определение в строке 515 файла 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 результирующий преобразованный входной набор данных облака точек

Определение в строке 168 файла 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 начальная грубая оценка преобразования

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

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

clearCorrespondenceRejectors()

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

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

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

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

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

Возвращает список фильтров соответствий.

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

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

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

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

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

Параметры
[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

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

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

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

Ссылки: pcl::isXYZFinite() и pcl::transformPointCloud().

getInputSource()

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

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

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

Ссылки: pcl::PCLBase< PointSource >::input_.

getInputTarget()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Определение в строке 367 файла 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(угла) в представлении ось—угол).

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

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

Определение в строке 463 файла 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 ссылка на пользовательскую функцию обратного вызова

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

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

Удалить i-й фильтр соответствий из списка.

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

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

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

Определение в строке 174 файла 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 максимально допустимая ошибка расстояния, при достижении которой алгоритм считается сошедшимся

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

Переопределено в 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()

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::Registration< PointSource, PointTarget, Scalar >::setInputTarget ( const PointCloudTargetConstPtr & cloud )
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()

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

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

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

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

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

Задаёт максимальное число итераций внутреннего процесса оптимизации.

Параметры
[in] nr_iterations максимальное число итераций внутреннего процесса оптимизации

Определение в строке 277 файла 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 на объект PointRepresentation, который будет использоваться при сравнении точек.

Параметры
[in] point_representation объект PointRepresentation, используемый k-D-деревом

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

setRANSACIterations()

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

Задаёт число итераций алгоритма RANSAC.

Параметры
[in] ransac_iterations число итераций алгоритма RANSAC

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

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

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

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

Параметры
[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()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::Registration< PointSource, PointTarget, Scalar >::setSearchMethodTarget ( const KdTreePtr & tree,
bool force_no_recompute = false
)
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()

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

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

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

Определение в строке 358 файла 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, метод «точка — плоскость» и т. д.)

Параметры
[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()

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

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

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

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

Хранит внутреннее состояние сходимости с учётом параметров, заданных пользователем.

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

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

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

Определение в строке 603 файла 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, используемый для определения соответствий между исходным и целевым облаками.

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

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

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

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

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

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

euclidean_fitness_epsilon_

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

nr_iterations_

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

Число итераций внутренней оптимизации (используется внутри реализации).

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

previous_transformation_

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

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

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

ransac_iterations_

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

Число итераций алгоритма RANSAC.

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

Название метода совмещения.

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

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

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

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

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

Входной набор целевых облаков точек.

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

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

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

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

Матрица преобразования, оценённая методом совмещения.

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

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

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

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

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

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

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

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

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

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

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

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

Spec-Zone.ru

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