Spec-Zone.ru › PointCloudLibrary

FPCSInitialAlignment вычисляет соответствующие наборы четырёх точек, как описано в: "4-points congruent sets for robust pairwise surface registration", Dror Aiger, Niloy Mitra, Daniel Cohen-Or. Подробнее...

#include <pcl/registration/ia_fpcs.h>

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

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

FPCSInitialAlignment ()
Конструктор. Подробнее...
~FPCSInitialAlignment () override=default
Деструктор. Подробнее...
void setTargetIndices (const IndicesPtr &target_indices)
Укажите указатель на вектор целевых индексов. Подробнее...
IndicesPtr getTargetIndices () const
void setSourceNormals (const NormalsConstPtr &source_normals)
Укажите указатель на нормали облака точек источника. Подробнее...
NormalsConstPtr getSourceNormals () const
void setTargetNormals (const NormalsConstPtr &target_normals)
Укажите указатель на нормали целевого облака точек. Подробнее...
NormalsConstPtr getTargetNormals () const
void setNumberOfThreads (int nr_threads)
Установите количество используемых потоков, если активирован OpenMP. Подробнее...
int getNumberOfThreads () const
void setDelta (float delta, bool normalize=false)
Установите постоянный коэффициент delta, который взвешивает внутренние вычисленные параметры. Подробнее...
float getDelta () const
void setApproxOverlap (float approx_overlap)
Установите приблизительное перекрытие между источником и целью. Подробнее...
float getApproxOverlap () const
void setScoreThreshold (float score_threshold)
Установите порог оценки, используемый для ранней завершения метода. Подробнее...
float getScoreThreshold () const
void setNumberOfSamples (int nr_samples)
Установите количество выборок источника, используемых во время выравнивания. Подробнее...
int getNumberOfSamples () const
void setMaxNormalDifference (float max_norm_diff)
Установите максимальное различие нормалей между корреспонденциями точек в градусах. Подробнее...
float getMaxNormalDifference () const
void setMaxComputationTime (int max_runtime)
Установите максимальное время вычисления в секундах. Подробнее...
int getMaxComputationTime () const
float getFitnessScore () const
- Публичные члены-функции, унаследованные от pcl::Registration< PointSource, PointTarget, float >
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 pointer к 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)
Вызов алгоритма регистрации, который оценивает преобразование и возвращает преобразованный исходник (ввод) как вывод. Подробнее...
void align (PointCloudSource &output, const Matrix4 &guess)
Вызов алгоритма регистрации, который оценивает преобразование и возвращает преобразованный исходник (ввод) как вывод. Подробнее...
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[] для сокращения кода. Подробнее...

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

void computeTransformation (PointCloudSource &output, const Eigen::Matrix4f &guess) override
Метод вычисления ригидного преобразования. Подробнее...
virtual bool initCompute ()
Инициализация внутренней вычислительной операции. Подробнее...
int selectBase (pcl::Indices &base_indices, float(&ratio)[2])
Выбор приблизительно компланарного набора из четырех точек из облака исходных точек. Подробнее...
int selectBaseTriangle (pcl::Indices &base_indices)
Случайный выбор тройки точек с большими расстояниями между точками. Подробнее...
void setupBase (pcl::Indices &base_indices, float(&ratio)[2])
Настройка базовой области (четыре компланарные точки) путем упорядочения точек и вычисления отношений пересечения и расстояний между отрезками диагоналей базовой области. Подробнее...
float segmentToSegmentDist (const pcl::Indices &base_indices, float(&ratio)[2])
Вычисление отношений пересечения и расстояний между отрезками диагоналей базовой области. Подробнее...
virtual int bruteForceCorrespondences (int idx1, int idx2, pcl::Correspondences &pairs)
Поиск пар соответствий точек, учитывая расстояние между двумя базовыми точками. Подробнее...
virtual int determineBaseMatches (const pcl::Indices &base_indices, std::vector< pcl::Indices > &matches, const pcl::Correspondences &pairs_a, const pcl::Correspondences &pairs_b, const float(&ratio)[2])
Определение соответствий базовой области путем комбинирования кандидатов пар точек и поиска совпадающих точек пересечения с использованием отношений диагональных отрезков базовой области B. Подробнее...
int checkBaseMatch (const pcl::Indices &match_indices, const float(&ds)[4])
Проверка, подходит ли расстояние внешнего прямоугольника сопоставленных точек к прямоугольнику базовой области. Подробнее...
virtual void handleMatches (const pcl::Indices &base_indices, std::vector< pcl::Indices > &matches, MatchingCandidates &candidates)
Метод обработки текущих сопоставленных кандидатов. Подробнее...
virtual void linkMatchWithBase (const pcl::Indices &base_indices, pcl::Indices &match_indices, pcl::Correspondences &correspondences)
Устанавливает соответствия между базовой областью B и соответствием M, используя расстояние каждой точки до центра прямоугольника. Подробнее...
virtual int validateMatch (const pcl::Indices &base_indices, const pcl::Indices &match_indices, const pcl::Correspondences &correspondences, Eigen::Matrix4f &transformation)
Проверка соответствия путем вычисления преобразования между исходными и целевыми данными на основе четырех сопоставленных точек и сравнения средней квадратичной ошибки (MSE) с пороговым значением. Подробнее...
virtual int validateTransformation (Eigen::Matrix4f &transformation, float &fitness_score)
Проверить преобразование, рассчитав количество инлайнеров после преобразования облака исходных точек. Подробнее...
virtual void finalCompute (const std::vector< MatchingCandidates > &candidates)
Окончательный расчет наилучшего совпадения из вектора лучших совпадений. Подробнее...
- Защищенные методы-члены, унаследованные от pcl::Registration< PointSource, PointTarget, float >
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 ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...

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

NormalsConstPtr source_normals_
Нормали облака исходных точек. Подробнее...
NormalsConstPtr target_normals_
Нормали облака целевых точек. Подробнее...
int nr_threads_
Количество потоков для распараллеливания (стандартное значение = 1). Подробнее...
float approx_overlap_
Приблизительная степень перекрытия между исходным и целевым облаками точек (стандартное значение = 0,5). Подробнее...
float delta_
Значение параметра delta алгоритма 4pcs (стандартное значение = 1,0). Подробнее...
float score_threshold_
Пороговое значение оценки для успешного завершения вычислений. Подробнее...
int nr_samples_
Количество точек для равномерной выборки исходного облака точек. Подробнее...
float max_norm_diff_
Максимальное различие нормалей соответствующих пар точек в градусах (стандартное значение = 90). Подробнее...
int max_runtime_
Максимальное допустимое время вычисления в секундах (стандартное значение = 0 => ~без ограничений). Подробнее...
float fitness_score_
Результат оценки соответствия наилучшего совпадения. Подробнее...
float diameter_
Оценённый диаметр облака целевых точек. Подробнее...
float max_base_diameter_sqr_
Оценённая метрическая квадратичная степень перекрытия между исходным и целевым облаками точек. Подробнее...
bool use_normals_
Флаг использования нормалей. Подробнее...
bool normalize_delta_
Флаг нормализации delta. Подробнее...
pcl::IndicesPtr source_indices_
Указатель на вектор индексов исходных точек для использования после выборки. Подробнее...
pcl::IndicesPtr target_indices_
Указатель на вектор индексов целевых точек для использования после выборки. Подробнее...
float max_pair_diff_
Максимальное различие между соответствующими парами точек в исходном и целевом облаках точек. Подробнее...
float max_edge_diff_
Максимальное различие между длиной базовых рёбер и допустимых рёбер совпадения. Подробнее...
float coincidation_limit_
Максимальное расстояние между совпадающими точками пересечения для нахождения допустимых совпадений. Подробнее...
float max_mse_
Максимальная среднеквадратическая ошибка преобразования, рассчитанная по кандидату совпадения. Подробнее...
float max_inlier_dist_sqr_
Максимальное возведённое в квадрат расстояние между точками исходного и целевого облаков для признания точки внутренней. Подробнее...
const float small_error_
Определение малой ошибки. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::Registration< PointSource, PointTarget, float >
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_
Если набор индексов не задан, мы создаем набор фиктивных индексов, имитирующих входное облако точек. Подробнее...

Дополнительные унаследованные члены

- Публичные типы, унаследованные от pcl::Registration< PointSource, PointTarget, float >
using Matrix4 = Eigen::Matrix< float, 4, 4 >
using Ptr = shared_ptr< Registration< PointSource, PointTarget, float > >
using ConstPtr = shared_ptr< const Registration< PointSource, PointTarget, float > >
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, float >
using TransformationEstimationPtr = typename TransformationEstimation::Ptr
using TransformationEstimationConstPtr = typename TransformationEstimation::ConstPtr
using CorrespondenceEstimation = pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >
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

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

шаблон<typename PointSource, typename PointTarget, typename NormalT = pcl::Normal, typename Scalar = float>
класс pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >

FPCSInitialAlignment вычисляет соответствующие наборы четырех точек, как описано в: "4-points congruent sets for robust pairwise surface registration", Dror Aiger, Niloy Mitra, Daniel Cohen-Or.

ACM Transactions on Graphics, том 27(3), 2008

Автор
P.W.Theiler

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

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

FPCSInitialAlignment()

шаблон<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::FPCSInitialAlignment

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

Сбрасывает максимальное количество итераций до 0, тем самым принуждая к внутреннему вычислению, если это не установлено пользователем. Устанавливает количество итераций RANSAC в 1000 и стандартную оценку преобразования в TransformationEstimation3Point.

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

Ссылки на pcl::Registration< PointSource, PointTarget, float >::max_iterations_, pcl::Registration< PointSource, PointTarget, float >::ransac_iterations_, pcl::Registration< PointSource, PointTarget, float >::reg_name_ и pcl::Registration< PointSource, PointTarget, float >::transformation_estimation_.

~FPCSInitialAlignment()

шаблон<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::~FPCSInitialAlignment ( )
overridedefault

Деструктор.

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

bruteForceCorrespondences()

шаблон<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::bruteForceCorrespondences ( int idx1,
int idx2,
pcl::Correspondences & pairs
)
protectedvirtual

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

Параметры
[in] idx1 индекс первой текущей базовой сегмента (в облаке исходных точек)
[in] idx2 индекс второй текущей базовой сегмента (в облаке исходных точек)
[out] pairs результирующие пары точек с расстоянием от точки до точки, близким к ref_dist
Возвращает
  • < 0 соответствующая пара точек не найдена
  • = 0 хотя бы одна пара кандидатных точек найдена

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

Ссылки на pcl::euclideanDistance() и M_PI.

checkBaseMatch()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::checkBaseMatch ( const pcl::Indices & match_indices,
const float(&) ds[4]
)
protected

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

Parameters
[in] match_indices индексы совпадения M
[in] ds длина сторон базового прямоугольника B
Returns
  • < 0 хотя бы одна сторона совпадения M не имеет соответствующей стороны в базовом прямоугольнике B
  • = 0 стороны совпадения M соответствуют сторонам базового прямоугольника B

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

Ссылки на pcl::euclideanDistance().

computeTransformation()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::computeTransformation ( PointCloudSource & output,
const Eigen::Matrix4f & guess
)
overrideprotected

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

Parameters
output преобразованный входной облако точек с использованием найденного жесткого преобразования
guess Вычисленное преобразование

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

Ссылки на pcl::StopWatch::getTimeSeconds() и pcl::transformPointCloud().

determineBaseMatches()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::determineBaseMatches ( const pcl::Indices & base_indices,
std::vector< pcl::Indices > & matches,
const pcl::Correspondences & pairs_a,
const pcl::Correspondences & pairs_b,
const float(&) ratio[2]
)
protectedvirtual

Определение соответствий базиса путем объединения кандидатных пар точек и поиска совпадающих точек пересечения с использованием отношений диагональных отрезков базового прямоугольника B.

Порог совпадения вычисляется во время инициализации (coincidation_limit_).

Parameters
[in] base_indices индексы базового прямоугольника B
[out] matches вектор кандидатных совпадений по отношению к базовому прямоугольнику B
[in] pairs_a пар точек, соответствующих точкам первой диагонали базового прямоугольника B
[in] pairs_b пар точек, соответствующих точкам второй диагонали базового прямоугольника B
[in] ratio коэффициенты пересечения диагоналей базовых точек
Returns
  • < 0 соответствие по основанию не найдено
  • = 0 по крайней мере одно соответствие по основанию найдено

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

Ссылки на pcl::euclideanDistance().

finalCompute()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::finalCompute ( const std::vector< MatchingCandidates > & candidates )
protectedvirtual

Окончательное вычисление наилучшего соответствия из вектора наилучших соответствий.

Для предотвращения межпотоковых зависимостей во время параллельного выполнения вычислялось наилучшее соответствие для каждой попытки.

Примечание
Для совместимости со старыми версиями кандидаты хранятся в векторах размера 1.
Parameters
[in] candidates вектор кандидатных совпадений

Переопределено в pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >.

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

getApproxOverlap()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getApproxOverlap ( ) const
inline
Returns
приблизительное перекрытие между исходным и целевым облаком точек.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::approx_overlap_.

getDelta()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getDelta ( ) const
inline
Возвращает
постоянный множитель delta, который взвешивает внутренние вычисленные параметры.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::delta_.

getFitnessScore()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getFitnessScore ( ) const
inline
Возвращает
оценку соответствия лучшего найденного соответствия четырёх точек.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::fitness_score_.

getMaxComputationTime()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getMaxComputationTime ( ) const
inline
Возвращает
максимальное время вычисления в секундах.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_runtime_.

getMaxNormalDifference()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getMaxNormalDifference ( ) const
inline
Возвращает
максимальное различие нормалей между допустимыми соответствиями точек в градусах.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_norm_diff_.

getNumberOfSamples()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getNumberOfSamples ( ) const
inline
Возвращает
количество выборок источника для использования при выравнивании.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::nr_samples_.

getNumberOfThreads()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getNumberOfThreads ( ) const
inline
Возвращает
количество потоков, используемых при активации OpenMP.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::nr_threads_.

getScoreThreshold()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getScoreThreshold ( ) const
inline
Возвращает
пороговое значение оценки, используемое для раннего завершения метода.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::score_threshold_.

getSourceNormals()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
NormalsConstPtr pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getSourceNormals ( ) const
inline
Возвращает
нормали облака точек источника.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::source_normals_.

getTargetIndices()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
IndicesPtr pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getTargetIndices ( ) const
inline
Возвращает
указатель на вектор целевых индексов.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::target_indices_.

getTargetNormals()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
NormalsConstPtr pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getTargetNormals ( ) const
inline
Возвращает
нормали целевого облака точек.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::target_normals_.

handleMatches()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::handleMatches ( const pcl::Indices & base_indices,
std::vector< pcl::Indices > & matches,
MatchingCandidates & candidates
)
protectedvirtual

Метод для обработки текущих сопоставлений кандидатов.

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

Примечание
Для совместимости с будущими версиями результаты сохраняются в «векторах размером 1».
Параметры
[in] base_indices индексы базовых данных B
[in,out] matches вектор соответствий кандидатов относительно базовых данных B. Кандидатские соответствия упорядочиваются на этом этапе.
[out] candidates вектор, содержащий кандидаты соответствий M

Реализация в pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >.

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

initCompute()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
bool pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::initCompute
protectedvirtual

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

Реализация в pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >.

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

Ссылки на pcl::getMinMax3D().

Ссылка на pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::initCompute().

linkMatchWithBase()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::linkMatchWithBase ( const pcl::Indices & base_indices,
pcl::Indices & match_indices,
pcl::Correspondences & correspondences
)
protectedvirtual

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

Параметры
[in] base_indices индексы базовых данных B
[in] match_indices индексы соответствия M
[out] correspondences результирующие соответствия

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

Ссылки на pcl::compute3DCentroid() и pcl::squaredEuclideanDistance().

segmentToSegmentDist()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::segmentToSegmentDist ( const pcl::Indices & base_indices,
float(&) ratio[2]
)
protected

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

Параметры
[in] base_indices индексы базы B
[out] ratio коэффициенты пересечения диагоналей базовых точек
Возвращает
значение качества пересечения диагонали

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

selectBase()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::selectBase ( pcl::Indices & base_indices,
float(&) ratio[2]
)
protected

Выбрать приблизительно копланарный набор из четырех точек из облака исходных точек.

Параметры
[out] base_indices выбранные индексы облака исходных точек, далее используемые в качестве базы (B)
[out] ratio два коэффициента пересечения диагоналей (r1,r2) базовых точек
Возвращает
  • < 0 не найдено копланарных наборов из четырёх точек с достаточным расстоянием между выборками
  • = 0 выбран набор из четырёх совпадающих точек

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

selectBaseTriangle()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::selectBaseTriangle ( pcl::Indices & base_indices )
protected

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

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

Параметры
[out] base_indices индексы базового треугольника B
Возвращает
  • < 0 не удалось выбрать треугольник с достаточными расстояниями между сторонами
  • = 0 базовый треугольник успешно выбран

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

setApproxOverlap()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setApproxOverlap ( float approx_overlap )
inline

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

Параметры
[in] approx_overlap оценённое перекрытие

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::approx_overlap_.

setDelta()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setDelta ( float delta,
bool normalize = false
)
inline

Установить константу delta, которая взвешивает внутренние параметры.

Параметры
[in] delta весовой коэффициент delta
[in] normalize флаг, если delta должна быть нормализована в соответствии с плотностью облака точек

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::delta_ и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::normalize_delta_.

setMaxComputationTime()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setMaxComputationTime ( int max_runtime )
inline

Установить максимальное время вычислений в секундах.

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

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_runtime_.

setMaxNormalDifference()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setMaxNormalDifference ( float max_norm_diff )
inline

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

Parameters
[in] max_norm_diff максимальное различие в градусах

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_norm_diff_.

setNumberOfSamples()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setNumberOfSamples ( int nr_samples )
inline

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

Parameters
[in] nr_samples количество выборок исходных данных

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::nr_samples_.

setNumberOfThreads()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setNumberOfThreads ( int nr_threads )
inline

Установить количество используемых потоков, если OpenMP активирован.

Parameters
[in] nr_threads количество используемых потоков

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::nr_threads_.

setScoreThreshold()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setScoreThreshold ( float score_threshold )
inline

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

Parameters
[in] score_threshold критерий раннего прерывания

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::score_threshold_.

setSourceNormals()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setSourceNormals ( const NormalsConstPtr & source_normals )
inline

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

Parameters
[in] source_normals указатель на нормали облака точек источника.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::source_normals_.

setTargetIndices()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setTargetIndices ( const IndicesPtr & target_indices )
inline

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

Parameters
[in] target_indices указатель на индексы целевого объекта

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::target_indices_.

setTargetNormals()

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setTargetNormals ( const NormalsConstPtr & target_normals )
inline

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

Parameters
[in] target_normals указатель на нормали целевого облака точек.

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

Ссылки на pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::target_normals_.

setupBase()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
void pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setupBase ( pcl::Indices & base_indices,
float(&) ratio[2]
)
protected

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

Параметры
[in,out] base_indices индексы базовой точки B (будут переупорядочены)
[out] ratio отношения пересечения диагоналей базовых точек

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

validateMatch()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::validateMatch ( const pcl::Indices & base_indices,
const pcl::Indices & match_indices,
const pcl::Correspondences & correspondences,
Eigen::Matrix4f & transformation
)
protectedvirtual

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

Предел MSE был рассчитан во время инициализации (max_mse_).

Параметры
[in] base_indices индексы базовой точки B
[in] match_indices индексы точки соответствия M
[in] correspondences соответствия между точками источника и целевой
[out] transformation результирующая матрица преобразования
Возвращает
  • < 0 MSE больше, чем max_mse_
  • = 0 MSE меньше, чем max_mse_

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

Ссылки на pcl::squaredEuclideanDistance() и pcl::transformPointCloud().

validateTransformation()

template<typename PointSource , typename PointTarget , typename NormalT , typename Scalar >
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::validateTransformation ( Eigen::Matrix4f & transformation,
float & fitness_score
)
protectedvirtual

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

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

Параметры
[out] transformation обновлённая матрица ориентации, использующая все инлайнеры
[out] fitness_score текущее наилучшее значение fitness_score
Примечание
Значение оценочного показателя подгонки обновляется только в том случае, если значение показателя для текущего преобразования превышает входное значение.
Возвращает
  • < 0 если предыдущий результат лучше, чем текущий (оценка остаётся)
  • = 0 текущий результат лучше, чем предыдущий (оценка обновляется)

Реализовано в pcl::registration::KFPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >.

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

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

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

approx_overlap_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::approx_overlap_
protected

Приблизительное перекрытие между облаками точек источника и целевой (стандартное значение = 0,5).

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getApproxOverlap() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setApproxOverlap().

coincidation_limit_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::coincidation_limit_
protected

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

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

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

delta_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::delta_
protected

Значение параметра delta алгоритма 4pcs (стандартное значение = 1.0).

Может использоваться как:

  • абсолютное значение (normalization = false), значение должно представлять точность точки, чтобы гарантировать поиск соседей между source <-> target
  • относительное значение (normalization = true), для настройки внутренней вычисляемой точности точки (= плотность точек)

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getDelta() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setDelta().

diameter_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::diameter_
protected

Оценённый диаметр облака целевых точек.

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

fitness_score_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::fitness_score_
protected

Результат оценки качества лучшего соответствия.

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

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

max_base_diameter_sqr_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_base_diameter_sqr_
protected

Оценённая квадратичная метрика перекрытия между source и target.

Примечание
Внутренне вычисляется с использованием оценки перекрытия и границ облака source. Используется для определения минимального расстояния выборки базовых точек, а также для расчёта количества попыток для надёжного поиска правильного соответствия.

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

max_edge_diff_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_edge_diff_
protected

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

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

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

max_inlier_dist_sqr_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_inlier_dist_sqr_
protected

Максимальное квадратичное расстояние между точками source и target, чтобы считаться внутренним элементом.

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

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

max_mse_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_mse_
protected

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

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

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

max_norm_diff_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_norm_diff_
protected

Максимальное различие нормалей соответствующих пар точек в градусах (стандартное значение = 90).

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getMaxNormalDifference() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setMaxNormalDifference().

max_pair_diff_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_pair_diff_
protected

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

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

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

max_runtime_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::max_runtime_
protected

Максимальное разрешённое время вычисления в секундах (стандартное = 0 => ~без ограничений).

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getMaxComputationTime() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setMaxComputationTime().

normalize_delta_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
bool pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::normalize_delta_
protected

Флаг нормализации дельты.

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

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

nr_samples_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::nr_samples_
protected

Количество точек для равномерной выборки облака точек источника.

(стандартное значение = 0 => полное облако).

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getNumberOfSamples() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setNumberOfSamples().

nr_threads_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
int pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::nr_threads_
protected

Количество потоков для параллелизации (стандартное значение = 1).

Примечание
Используется только при компиляции с OpenMP.

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getNumberOfThreads() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setNumberOfThreads().

score_threshold_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::score_threshold_
protected

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

Если не установлено пользователем, зависит от размера приближённого перекрытия.

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getScoreThreshold() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setScoreThreshold().

small_error_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
const float pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::small_error_
protected

Определение малой погрешности.

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

source_indices_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
pcl::IndicesPtr pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::source_indices_
protected

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

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

source_normals_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
NormalsConstPtr pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::source_normals_
protected

Нормали облака исходных точек.

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getSourceNormals() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setSourceNormals().

target_indices_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
pcl::IndicesPtr pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::target_indices_
protected

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

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getTargetIndices() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setTargetIndices().

target_normals_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
NormalsConstPtr pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::target_normals_
protected

Нормали облака целевых точек.

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

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::getTargetNormals() и pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::setTargetNormals().

use_normals_

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
bool pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::use_normals_
protected

Флаг использования нормалей.

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


Документация для данного класса была сгенерирована из следующих файлов:
  • pcl/registration/ia_fpcs.h
  • pcl/registration/impl/ia_fpcs.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1registration_1_1_f_p_c_s_initial_alignment.html

Spec-Zone.ru

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