SampleConsensusModel представляет базовый класс модели. Подробнее...
#include </__w/1/s/cuda/sample_consensus/include/pcl/cuda/sample_consensus/sac_model.h>
Общедоступные типы | |
| using | PointCloud = PointCloudAOS< Storage > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | Ptr = shared_ptr< SampleConsensusModel > |
| using | ConstPtr = shared_ptr< const SampleConsensusModel > |
| using | Indices = typename Storage< int >::type |
| using | IndicesPtr = shared_ptr< typename Storage< int >::type > |
| using | IndicesConstPtr = shared_ptr< const typename Storage< int >::type > |
| using | Coefficients = typename Storage< float >::type |
| using | CoefficientsPtr = shared_ptr< Coefficients > |
| using | CoefficientsConstPtr = shared_ptr< const Coefficients > |
| using | Hypotheses = typename Storage< float4 >::type |
| using | Samples = typename Storage< int >::type |
Общедоступные функции-члены | |
| SampleConsensusModel (const PointCloudConstPtr &cloud) | |
| Конструктор базового класса SampleConsensusModel. Подробнее... |
|
| virtual | ~SampleConsensusModel ()=default |
| Деструктор базового класса SampleConsensusModel. Подробнее... |
|
| virtual void | getSamples (int &iterations, Indices &samples)=0 |
| Получить набор случайных выборок данных и вернуть их в виде индексов точек. Подробнее... |
|
| virtual bool | computeModelCoefficients (const Indices &samples, Coefficients &model_coefficients)=0 |
| Проверить, могут ли заданные выборки индексов образовать допустимую модель, вычислить коэффициенты модели по этим выборкам и сохранить их в model_coefficients. Подробнее... |
|
| virtual bool | generateModelHypotheses (Hypotheses &h, int max_iterations)=0 |
| virtual bool | generateModelHypotheses (Hypotheses &h, Samples &s, int max_iterations)=0 | tr>
| virtual bool | isSampleInlier (IndicesPtr &inliers_stencil, Samples &samples, unsigned int &i) |
| virtual int | selectWithinDistance (const Coefficients &model_coefficients, float threshold, IndicesPtr &inliers, IndicesPtr &inliers_stencil)=0 |
| Выбрать все точки, соответствующие заданным коэффициентам модели, в качестве внутренних точек. Подробнее... |
|
| virtual int | selectWithinDistance (const Hypotheses &h, int idx, float threshold, IndicesPtr &inliers, IndicesPtr &inliers_stencil)=0 |
| virtual int | selectWithinDistance (Hypotheses &h, int idx, float threshold, IndicesPtr &inliers_stencil, float3 ¢roid)=0 | tr>
| virtual int | countWithinDistance (const Coefficients &model_coefficients, float threshold)=0 |
| virtual int | countWithinDistance (const Hypotheses &h, int idx, float threshold)=0 |
| int | deleteIndices (const IndicesPtr &indices_stencil) |
| int | deleteIndices (const Hypotheses &h, int idx, IndicesPtr &inliers, const IndicesPtr &inliers_delete) |
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Задать указатель на входной набор данных. Подробнее... |
|
| PointCloudConstPtr | getInputCloud () const |
| Получить указатель на входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | getIndices () const |
| Получить указатель на используемый вектор индексов. Подробнее... |
|
| void | setRadiusLimits (float min_radius, float max_radius) |
| Задать минимальное и максимальное допустимые значения радиуса модели (применимо к моделям, оценивающим радиус). Подробнее... |
|
| void | getRadiusLimits (float &min_radius, float &max_radius) |
| Получить заданные пользователем минимальное и максимальное допустимые значения радиуса модели. Подробнее... |
|
| shared_ptr< typename Storage< float4 >::type > | getNormals () |
| void | setNormals (shared_ptr< typename Storage< float4 >::type > normals) |
Защищённые атрибуты | |
| PointCloudConstPtr | input_ |
| Умный указатель boost на массив данных облака точек. Подробнее... |
|
| shared_ptr< typename Storage< float4 >::type > | normals_ |
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| IndicesPtr | indices_stencil_ |
| Указатель на вектор используемых индексов точек (трафарет). Подробнее... |
|
| unsigned int | nr_indices_in_stencil_ |
| Количество оставшихся индексов в indices_stencil_ Подробнее... |
|
| float | radius_min_ |
| Минимальное и максимальное ограничения радиуса модели. Подробнее... |
|
| float | radius_max_ |
| thrust::minstd_rand | rngl_ |
| Генератор случайных чисел с линейным конгруэнтным методом. Подробнее... |
|
Подробное описание
template<template< typename > class Storage>
class pcl::cuda::SampleConsensusModel< Storage >
SampleConsensusModel представляет базовый класс модели.
Все модели консенсуса по выборке должны наследоваться от этого класса.
Определение в строке 87 файла sac_model.h.
Документация по псевдонимам типов-членов
Coefficients
| using pcl::cuda::SampleConsensusModel< Storage >::Coefficients = typename Storage<float>::type |
Определение в строке 101 файла sac_model.h.
CoefficientsConstPtr
| using pcl::cuda::SampleConsensusModel< Storage >::CoefficientsConstPtr = shared_ptr <const Coefficients> |
Определение в строке 103 файла sac_model.h.
CoefficientsPtr
| using pcl::cuda::SampleConsensusModel< Storage >::CoefficientsPtr = shared_ptr <Coefficients> |
Определение в строке 102 файла sac_model.h.
ConstPtr
| using pcl::cuda::SampleConsensusModel< Storage >::ConstPtr = shared_ptr<const SampleConsensusModel> |
Определение в строке 95 файла sac_model.h.
Hypotheses
| using pcl::cuda::SampleConsensusModel< Storage >::Hypotheses = typename Storage<float4>::type |
Определение в строке 105 файла sac_model.h.
Indices
| using pcl::cuda::SampleConsensusModel< Storage >::Indices = typename Storage<int>::type |
Определение в строке 97 файла sac_model.h.
IndicesConstPtr
| using pcl::cuda::SampleConsensusModel< Storage >::IndicesConstPtr = shared_ptr<const typename Storage<int>::type> |
Определение в строке 99 файла sac_model.h.
IndicesPtr
| using pcl::cuda::SampleConsensusModel< Storage >::IndicesPtr = shared_ptr<typename Storage<int>::type> |
Определение в строке 98 файла sac_model.h.
PointCloud
| using pcl::cuda::SampleConsensusModel< Storage >::PointCloud = PointCloudAOS<Storage> |
Определение в строке 90 файла sac_model.h.
PointCloudConstPtr
| using pcl::cuda::SampleConsensusModel< Storage >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Определение в строке 92 файла sac_model.h.
PointCloudPtr
| using pcl::cuda::SampleConsensusModel< Storage >::PointCloudPtr = typename PointCloud::Ptr |
Определение в строке 91 файла sac_model.h.
Ptr
| using pcl::cuda::SampleConsensusModel< Storage >::Ptr = shared_ptr<SampleConsensusModel> |
Определение в строке 94 файла sac_model.h.
Samples
| using pcl::cuda::SampleConsensusModel< Storage >::Samples = typename Storage<int>::type |
Определение в строке 107 файла sac_model.h.
Описание конструктора и деструктора
SampleConsensusModel()
| inline |
Конструктор базового класса SampleConsensusModel.
- Параметры
-
cloud входной набор данных облака точек
Определение в строке 120 файла sac_model.h.
Ссылки: pcl::cuda::SampleConsensusModel< Storage >::setInputCloud().
~SampleConsensusModel()
| virtualdefault |
Деструктор базового класса SampleConsensusModel.
Описание методов класса
computeModelCoefficients()
| pure virtual |
Проверяет, могут ли заданные индексы точек образовать допустимую модель, вычисляет коэффициенты модели по этим точкам и сохраняет их в model_coefficients.
Чисто виртуальный метод.
- Параметры
-
samples индексы точек, найденных в качестве возможных подходящих кандидатов для построения допустимой модели; хранятся на устройстве model_coefficients вычисленные коэффициенты модели
Реализован в pcl::cuda::SampleConsensusModelPlane< Storage > и pcl::cuda::SampleConsensusModel1PointPlane< Storage >.
countWithinDistance() [1/2]
| pure virtual |
countWithinDistance() [2/2]
| pure virtual |
deleteIndices() [1/2]
| int pcl::cuda::SampleConsensusModel< Storage >::deleteIndices | ( | const Hypotheses & | h, | int | idx, | IndicesPtr & | inliers, | const IndicesPtr & | inliers_delete | ) |
deleteIndices() [2/2]
| int pcl::cuda::SampleConsensusModel< Storage >::deleteIndices | ( | const IndicesPtr & | indices_stencil | ) |
generateModelHypotheses() [1/2]
| pure virtual |
generateModelHypotheses() [2/2]
| pure virtual |
getIndices()
| inline |
Получить указатель на используемый вектор индексов.
Определение в строке 291 файла sac_model.h.
Ссылки: pcl::cuda::SampleConsensusModel< Storage >::indices_, pcl::cuda::SampleConsensusModel< Storage >::indices_stencil_ и pcl::cuda::SampleConsensusModel< Storage >::nr_indices_in_stencil_.
getInputCloud()
| inline |
Получить указатель на входной набор данных облака точек.
Определение в строке 272 файла sac_model.h.
getNormals()
| inline |
Определение в строке 339 файла sac_model.h.
Ссылка: pcl::cuda::SampleConsensusModel< Storage >::normals_.
getRadiusLimits()
| inline |
Получить минимальное и максимальное допустимые ограничения радиуса модели, заданные пользователем.
- Параметры
-
min_radius полученный минимальный радиус модели max_radius полученный максимальный радиус модели
Определение в строке 330 файла sac_model.h.
Ссылки: pcl::cuda::SampleConsensusModel< Storage >::radius_max_ и pcl::cuda::SampleConsensusModel< Storage >::radius_min_.
getSamples()
| pure virtual |
Получить набор случайных выборок данных и вернуть их в виде индексов точек.
Чисто виртуальный метод.
- Параметры
-
iterations внутреннее число итераций, используемое методами SAC samples полученные выборки модели, хранящиеся на устройстве
Реализовано в pcl::cuda::SampleConsensusModelPlane< Storage > и pcl::cuda::SampleConsensusModel1PointPlane< Storage >.
isSampleInlier()
| inlinevirtual |
Определение в строке 174 файла sac_model.h.
selectWithinDistance() [1/3]
| pure virtual |
Выбрать все точки, соответствующие заданным коэффициентам модели, в качестве внутренних точек.
Чисто виртуальный метод.
- Параметры
-
model_coefficients коэффициенты модели, для которой необходимо вычислить расстояния threshold максимально допустимый порог расстояния для определения внутренних и выбросов inliers полученные внутренние точки модели inliers_stencil
Реализовано в pcl::cuda::SampleConsensusModelPlane< Storage > и pcl::cuda::SampleConsensusModel1PointPlane< Storage >.
selectWithinDistance() [2/3]
| pure virtual |
selectWithinDistance() [3/3]
| pure virtual |
setInputCloud()
| virtual |
Задаёт указатель на входной набор данных.
- Параметры
-
cloud константный разделяемый указатель boost на сообщение PointCloud
Используется в pcl::cuda::SampleConsensusModel< Storage >::SampleConsensusModel().
setNormals()
| inline |
Определение находится на строке 342 файла sac_model.h.
Ссылки на pcl::cuda::SampleConsensusModel< Storage >::normals_.
setRadiusLimits()
| inline |
Задаёт минимально и максимально допустимые пределы радиуса для модели (применимо к моделям, оценивающим радиус).
- Параметры
-
min_radius минимальный радиус модели max_radius максимальный радиус модели
- Задача:
- изменить это так, чтобы задавались пределы для всей модели
Определение находится на строке 317 файла sac_model.h.
Ссылки на pcl::cuda::SampleConsensusModel< Storage >::radius_max_ и pcl::cuda::SampleConsensusModel< Storage >::radius_min_.
Описание данных-членов
indices_
| protected |
Указатель на вектор индексов используемых точек.
Определение находится на строке 357 файла sac_model.h.
Используется в pcl::cuda::SampleConsensusModel< Storage >::getIndices().
indices_stencil_
| protected |
Указатель на вектор индексов используемых точек (трафарет).
Определение находится на строке 359 файла sac_model.h.
Используется в pcl::cuda::SampleConsensusModel< Storage >::getIndices().
input_
| protected |
Разделяемый указатель boost на массив данных облака точек.
Определение находится на строке 353 файла sac_model.h.
Используется в pcl::cuda::SampleConsensusModel< Storage >::getInputCloud().
normals_
| protected |
Определение находится на строке 354 файла sac_model.h.
Используется в pcl::cuda::SampleConsensusModel< Storage >::getNormals() и pcl::cuda::SampleConsensusModel< Storage >::setNormals().
nr_indices_in_stencil_
| защищённый |
количество индексов, оставшихся в indices_stencil_
Определение в строке 361 файла sac_model.h.
Используется в pcl::cuda::SampleConsensusModel< Storage >::getIndices().
radius_max_
| защищённый |
Определение в строке 366 файла sac_model.h.
Используется в pcl::cuda::SampleConsensusModel< Storage >::getRadiusLimits() и pcl::cuda::SampleConsensusModel< Storage >::setRadiusLimits().
radius_min_
| защищённый |
Минимальный и максимальный пределы радиуса модели.
Применимо ко всем моделям, оценивающим радиус.
Определение в строке 366 файла sac_model.h.
Используется в pcl::cuda::SampleConsensusModel< Storage >::getRadiusLimits() и pcl::cuda::SampleConsensusModel< Storage >::setRadiusLimits().
rngl_
| защищённый |
Генератор псевдослучайных чисел с линейно-конгруэнтным методом.
Определение в строке 369 файла sac_model.h.
Документация этого класса создана на основе следующего файла:
- /__w/1/s/cuda/sample_consensus/include/pcl/cuda/sample_consensus/sac_model.h
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1cuda_1_1_sample_consensus_model.html