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
[легенда]

Открытые функции-члены

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
Вернуть состояние сходимости после последнего запуска выравнивания. Подробнее...
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
Переопределить operator[] класса PointCloud для сокращения кода. Подробнее...

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

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}
Количество потоков для распараллеливания (стандартное значение = 1). Подробнее...
float approx_overlap_ {0.5f}
Оценочная степень перекрытия исходного и целевого облаков (стандартное значение = 0.5). Подробнее...
float delta_ {1.f}
Значение delta алгоритма 4pcs (стандартное значение = 1.0). Подробнее...
float score_threshold_
Пороговое значение оценки, при достижении которого вычисления завершаются успешно. Подробнее...
int nr_samples_ {0}
Количество точек для равномерной выборки из исходного облака точек. Подробнее...
float max_norm_diff_ {90.f}
Максимальная разница нормалей соответствующих пар точек в градусах (стандартное значение = 90). Подробнее...
int max_runtime_ {0}
Максимально допустимое время вычислений в секундах (стандартное значение = 0 => ~не ограничено). Подробнее...
float fitness_score_
Итоговая оценка качества наилучшего соответствия. Подробнее...
float diameter_ {0.0f}
Оценочный диаметр целевого облака точек. Подробнее...
float max_base_diameter_sqr_ {0.0f}
Оценочная степень метрического перекрытия исходного и целевого облаков в квадрате. Подробнее...
bool use_normals_ {false}
Флаг использования нормалей. Подробнее...
bool normalize_delta_ {true}
Флаг нормализации delta. Подробнее...
pcl::IndicesPtr source_indices_
Указатель на вектор индексов исходных точек, используемых после выборки. Подробнее...
pcl::IndicesPtr target_indices_
Указатель на вектор индексов целевых точек, используемых после выборки. Подробнее...
float max_pair_diff_ {0.0f}
Максимальная разница между соответствующими парами точек в исходном и целевом облаках. Подробнее...
float max_edge_diff_ {0.0f}
Максимальная разница между длинами рёбер базиса и рёбер допустимого соответствия. Подробнее...
float coincidation_limit_ {0.0f}
Максимальное расстояние между совпадающими точками пересечения для поиска допустимых соответствий. Подробнее...
float max_mse_ {0.0f}
Максимальная среднеквадратичная ошибка преобразования, вычисленного по кандидату на соответствие. Подробнее...
float max_inlier_dist_sqr_ {0.0f}
Максимальное расстояние между исходными и целевыми точками в квадрате, при котором точка считается внутренней. Подробнее...
const float small_error_ {0.00001f}
Определение малой ошибки. Подробнее...
- Защищенные атрибуты, унаследованные от 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

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

template<typename PointSource, typename PointTarget, typename NormalT = pcl::Normal, typename Scalar = float>
class 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, vol. 27(3), 2008

Автор
P.W.Theiler

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

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

FPCSInitialAlignment()

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

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

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

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

template<typename PointSource , typename PointTarget , typename NormalT = pcl::Normal, typename Scalar = float>
pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, NormalT, Scalar >::~FPCSInitialAlignment ( )
overridedefault

Деструктор.

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

bruteForceCorrespondences()

template<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 найден хотя бы один кандидат в пары точек

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

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

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

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

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

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

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

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

Определение в строке 637 файла 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».
Параметры
[in] candidates вектор кандидатов на сопоставление

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

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

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

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

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

Ссылки: pcl::FilterIndices< PointT >::filter(), pcl::getMinMax3D(), pcl::PCLBase< PointT >::setIndices(), pcl::PCLBase< PointT >::setInputCloud(), pcl::RandomSample< PointT >::setSample() и pcl::RandomSample< PointT >::setSeed().

Используется в 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 полученные соответствия
Устарело:
Запланировано к удалению в версии 1 . 18 : «эта функция содержит ошибку и обычно не нужна»

Определение в строке 795 файла 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 коэффициенты пересечения диагоналей для точек базы
Возвращает
значение качества пересечения диагоналей

Определение в строке 498 файла 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 выбран набор из четырёх конгруэнтных точек

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

Ссылка: pcl::SampleConsensusModel< PointT >::setIndices().

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 базовый треугольник успешно выбран

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

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

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

Задаёт количество исходных выборок, используемых при совмещении.

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

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

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

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

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

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

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

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

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

Параметры
[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 коэффициенты пересечения диагоналей для точек базы

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

Определение находится в строке 848 файла 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 текущая наилучшая оценка соответствия
Примечание
Оценка соответствия обновляется, только если оценка текущего преобразования превышает входное значение.
Возвращает
  • < 0 если предыдущий результат лучше текущего (оценка не меняется)
  • = 0 текущий результат лучше предыдущего (оценка обновлена)

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

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

Оценка перекрытия исходного и целевого облаков (стандартное значение = 0.5).

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

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

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

Определение находится в строке 543 файла 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_ {1.f}
protected

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

Его можно использовать как:

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

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

Оценка диаметра целевого облака точек.

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

Итоговая оценка соответствия для наилучшего совпадения.

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

Оценка квадрата перекрытия исходного и целевого облаков.

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

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

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

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

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

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

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

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

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

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

Определение находится в строке 548 файла 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_ {90.f}
protected

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

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

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

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

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

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

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

Флаг нормализации delta.

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

Число точек для равномерной выборки из исходного облака точек.

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

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

Число потоков для параллельного выполнения (стандартное значение = 1).

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

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

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

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

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

Определение малой ошибки.

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

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

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

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

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

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

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

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

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

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

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