Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelNormalSphere определяет модель для сегментации 3D сферы с использованием дополнительных ограничений нормали поверхности. Подробнее...

#include <pcl/sample_consensus/sac_model_normal_sphere.h>

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

Публичные типы

using PointCloud = typename SampleConsensusModel< PointT >::PointCloud
using PointCloudPtr = typename SampleConsensusModel< PointT >::PointCloudPtr
using PointCloudConstPtr = typename SampleConsensusModel< PointT >::PointCloudConstPtr
using PointCloudNPtr = typename SampleConsensusModelFromNormals< PointT, PointNT >::PointCloudNPtr
using PointCloudNConstPtr = typename SampleConsensusModelFromNormals< PointT, PointNT >::PointCloudNConstPtr
using Ptr = shared_ptr< SampleConsensusModelNormalSphere< PointT, PointNT > >
using ConstPtr = shared_ptr< const SampleConsensusModelNormalSphere< PointT, PointNT > >
- Публичные типы, унаследованные от pcl::SampleConsensusModelSphere< PointT >
using PointCloud = typename SampleConsensusModel< PointT >::PointCloud
using PointCloudPtr = typename SampleConsensusModel< PointT >::PointCloudPtr
using PointCloudConstPtr = typename SampleConsensusModel< PointT >::PointCloudConstPtr
using Ptr = shared_ptr< SampleConsensusModelSphere< PointT > >
using ConstPtr = shared_ptr< const SampleConsensusModelSphere< PointT > >
- Публичные типы, унаследованные от pcl::SampleConsensusModel< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointCloudPtr = typename PointCloud::Ptr
using SearchPtr = typename pcl::search::Search< PointT >::Ptr
using Ptr = shared_ptr< SampleConsensusModel< PointT > >
using ConstPtr = shared_ptr< const SampleConsensusModel< PointT > >
- Публичные типы, унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
using PointCloudNConstPtr = typename pcl::PointCloud< PointNT >::ConstPtr
using PointCloudNPtr = typename pcl::PointCloud< PointNT >::Ptr
using Ptr = shared_ptr< SampleConsensusModelFromNormals< PointT, PointNT > >
using ConstPtr = shared_ptr< const SampleConsensusModelFromNormals< PointT, PointNT > >

Общедоступные члены-функции

SampleConsensusModelNormalSphere (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModelNormalSphere. Подробнее...
SampleConsensusModelNormalSphere (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelNormalSphere. Подробнее...
~SampleConsensusModelNormalSphere () override=default
Пустой деструктор. Подробнее...
void selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers) override
Выбрать все точки, которые соответствуют заданным коэффициентам модели как инлайнеры. Подробнее...
std::size_t countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const override
Подсчитать все точки, которые соответствуют заданным коэффициентам модели как инлайнеры. Подробнее...
void getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const override
Вычислить все расстояния от данных облака до заданной сферической модели. Подробнее...
pcl::SacModel getModelType () const override
Возвращает уникальный идентификатор для этой модели (SACMODEL_NORMAL_SPHERE). Подробнее...
- Общедоступные члены-функции унаследованные от pcl::SampleConsensusModelSphere< PointT >
SampleConsensusModelSphere (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModelSphere. Подробнее...
SampleConsensusModelSphere (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelSphere. Подробнее...
~SampleConsensusModelSphere () override=default
Пустой деструктор. Подробнее...
SampleConsensusModelSphere (const SampleConsensusModelSphere &source)
Конструктор копирования. Подробнее...
SampleConsensusModelSphere & operator= (const SampleConsensusModelSphere &source)
Конструктор копирования. Подробнее...
bool computeModelCoefficients (const Indices &samples, Eigen::VectorXf &model_coefficients) const override
Проверить, могут ли заданные индексные образцы образовать корректную модель сферы, вычислить коэффициенты модели по этим образцам и сохранить их во внутренней переменной model_coefficients. Подробнее...
void getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const override
Вычислить все расстояния от данных облака до заданной сферической модели. Подробнее...
void selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers) override
Выбрать все точки, которые соответствуют заданным коэффициентам модели, как инлайнеры. Подробнее...
std::size_t countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const override
Подсчитать все точки, которые соответствуют заданным коэффициентам модели, как инлайнеры. Подробнее...
void optimizeModelCoefficients (const Indices &inliers, const Eigen::VectorXf &model_coefficients, Eigen::VectorXf &optimized_coefficients) const override
Пересчитать коэффициенты сферы, используя заданный набор инлайнеров, и вернуть их пользователю. Подробнее...
void projectPoints (const Indices &inliers, const Eigen::VectorXf &model_coefficients, PointCloud &projected_points, bool copy_data_fields=true) const override
Создать новое облако точек с инлайнерами, спроектированными на сферическую модель. Подробнее...
bool doSamplesVerifyModel (const std::set< index_t > &indices, const Eigen::VectorXf &model_coefficients, const double threshold) const override
Проверить, соответствует ли подмножество индексов заданным коэффициентам сферической модели. Подробнее...
pcl::SacModel getModelType () const override
Возвращает уникальный идентификатор для этой модели (SACMODEL_SPHERE). Подробнее...
- Публичные члены-функции, унаследованные от pcl::SampleConsensusModel< PointT >
SampleConsensusModel (const PointCloudConstPtr &cloud, bool random=false)
Конструктор для базового класса SampleConsensusModel. Подробнее...
SampleConsensusModel (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор для базового класса SampleConsensusModel. Подробнее...
virtual ~SampleConsensusModel ()=default
Деструктор для базового класса SampleConsensusModel. Подробнее...
virtual void getSamples (int &iterations, Indices &samples)
Получить набор случайных выборок данных и вернуть их как индексы точек. Подробнее...
virtual void setInputCloud (const PointCloudConstPtr &cloud)
Указать указатель на входной набор данных. Подробнее...
PointCloudConstPtr getInputCloud () const
Получить указатель на входное облако точек. Подробнее...
void setIndices (const IndicesPtr &indices)
Указать указатель на вектор индексов, представляющих входные данные. Подробнее...
void setIndices (const Indices &indices)
Указать вектор индексов, представляющих входные данные. Подробнее...
IndicesPtr getIndices () const
Получить указатель на вектор индексов, используемых для работы. Подробнее...
const std::string & getClassName () const
Получить строковое представление имени этого класса. Подробнее...
unsigned int getSampleSize () const
Возвращает размер выборки, из которой вычисляется модель. Подробнее...
unsigned int getModelSize () const
Возвращает количество коэффициентов в модели. Подробнее...
void setRadiusLimits (const double &min_radius, const double &max_radius)
Установить минимальные и максимальные допустимые радиусы для модели (применимо к моделям, оценивающим радиус) Подробнее...
void getRadiusLimits (double &min_radius, double &max_radius) const
Получить минимальные и максимальные допустимые радиусы для модели, заданные пользователем. Подробнее...
void setModelConstraints (std::function< bool(const Eigen::VectorXf &)> function)
Это можно использовать для наложения любых ограничений на модель, например Подробнее...
void setSamplesMaxDist (const double &radius, SearchPtr search)
Установить максимальное расстояние, разрешенное при случайном выборе точек. Подробнее...
void getSamplesMaxDist (double &radius) const
Получить максимальное допустимое расстояние при построении случайных выборок. Подробнее...
double computeVariance (const std::vector< double > &error_sqr_dists) const
Вычислить дисперсию ошибок относительно модели. Подробнее...
double computeVariance () const
Вычислить дисперсию ошибок относительно модели из внутренней оценки вектора расстояний. Подробнее...
- Публичные члены-функции, унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
SampleConsensusModelFromNormals ()
Пустой конструктор для базового класса SampleConsensusModelFromNormals. Подробнее...
virtual ~SampleConsensusModelFromNormals ()=default
Деструктор. Подробнее...
void setNormalDistanceWeight (const double w)
Установить вес нормального углового расстояния. Подробнее...
double getNormalDistanceWeight () const
Получить вес нормального углового расстояния. Подробнее...
void setInputNormals (const PointCloudNConstPtr &normals)
Предоставить указатель на входные данные, содержащие нормали точек набора XYZ. Подробнее...
PointCloudNConstPtr getInputNormals () const
Получить указатель на нормали входного облака точек XYZ. Подробнее...

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

- Защищённые методы-функции, унаследованные от pcl::SampleConsensusModelSphere< PointT >
bool isModelValid (const Eigen::VectorXf &model_coefficients) const override
Проверка, является ли модель допустимой при заданных ограничениях пользователя. Подробнее...
bool isSampleGood (const Indices &samples) const override
Проверка, является ли выборка индексов подходящей выборкой индексов точек. Подробнее...
std::size_t countWithinDistanceStandard (const Eigen::VectorXf &model_coefficients, const double threshold, std::size_t i=0) const
Это реализация не использует инструкций SIMD. Подробнее...
- Защищённые методы-функции, унаследованные от pcl::SampleConsensusModel< PointT >
SampleConsensusModel (bool random=false)
Пустой конструктор для базового класса SampleConsensusModel. Подробнее...
void drawIndexSample (Indices &sample)
Заполняет массив выборки случайными выборками из вектора indices_. Подробнее...
void drawIndexSampleRadius (Indices &sample)
Заполняет массив выборки одной случайной выборкой из вектора indices_ и другими случайными выборками, которые находятся ближе, чем samples_radius_. Подробнее...
int rnd ()
Генератор случайных чисел на основе Boost. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::SampleConsensusModel< PointT >
std::string model_name_
Имя модели. Подробнее...
PointCloudConstPtr input_
Указатель на общий указатель boost для массива данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
double radius_min_
Минимальные и максимальные радиусы модели. Подробнее...
double radius_max_
double samples_radius_
Максимальное расстояние последующих выборок от первой (поиск по радиусу) Подробнее...
SearchPtr samples_radius_search_
Объект поиска для выбора последующих выборок с помощью поиска по радиусу. Подробнее...
Indices shuffled_indices_
Данные, содержащие перемешанную версию индексов. Подробнее...
boost::mt19937 rng_alg_
Алгоритм генератора случайных чисел Boost. Подробнее...
std::shared_ptr< boost::uniform_int<> > rng_dist_
Распределение генератора случайных чисел Boost. Подробнее...
std::shared_ptr< boost::variate_generator< boost::mt19937 &, boost::uniform_int<> > > rng_gen_
Генератор случайных чисел Boost. Подробнее...
std::vector< double > error_sqr_dists_
Вектор, содержащий расстояния до вычисленной модели. Подробнее...
unsigned int sample_size_
Размер выборки, из которой вычисляется модель. Подробнее...
unsigned int model_size_
Количество коэффициентов в модели. Подробнее...
std::function< bool(const Eigen::VectorXf &)> custom_model_constraints_
Пользовательская функция, которая принимает коэффициенты модели и возвращает значение, определяющее, приемлема ли модель или нет. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
double normal_distance_weight_
Относительный вес (между 0 и 1), придаваемый угловому расстоянию (от 0 до pi/2) между нормалями к точкам и нормалью к плоскости. Подробнее...
PointCloudNConstPtr normals_
Указатель на входной набор данных, содержащий нормали к точкам набора XYZ. Подробнее...
- Статические защищенные атрибуты, унаследованные от pcl::SampleConsensusModel< PointT >
static const unsigned int max_sample_checks_ = 1000
Максимальное количество проверок выборок до получения подходящей. Подробнее...

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

template<typename PointT, typename PointNT>
class pcl::SampleConsensusModelNormalSphere< PointT, PointNT >

SampleConsensusModelNormalSphere определяет модель для сегментации 3D сферы с использованием дополнительных ограничений нормали поверхности.

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

Коэффициенты модели определяются как:

  • center.x : координата X центра сферы
  • center.y : координата Y центра сферы
  • center.z : координата Z центра сферы
  • radius : радиус сферы
Автор
Stefan Schrandt

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

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

ConstPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::ConstPtr = shared_ptr<const SampleConsensusModelNormalSphere<PointT, PointNT> >

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

PointCloud

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::PointCloud = typename SampleConsensusModel<PointT>::PointCloud

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

PointCloudConstPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::PointCloudConstPtr = typename SampleConsensusModel<PointT>::PointCloudConstPtr

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

PointCloudNConstPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::PointCloudNConstPtr = typename SampleConsensusModelFromNormals<PointT, PointNT>::PointCloudNConstPtr

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

PointCloudNPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::PointCloudNPtr = typename SampleConsensusModelFromNormals<PointT, PointNT>::PointCloudNPtr

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

PointCloudPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::PointCloudPtr = typename SampleConsensusModel<PointT>::PointCloudPtr

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

Ptr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::Ptr = shared_ptr<SampleConsensusModelNormalSphere<PointT, PointNT> >

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

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

SampleConsensusModelNormalSphere() [1/2]

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::SampleConsensusModelNormalSphere ( const PointCloudConstPtr & cloud,
bool random = false
)
inline

Конструктор базового класса SampleConsensusModelNormalSphere.

Параметры
[in] cloud набор входных точек облака
[in] random если true, устанавливает seed для генератора случайных чисел в текущее время, иначе устанавливает в 12345 (по умолчанию: false)

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

Ссылки на pcl::SampleConsensusModel< PointT >::model_name_, pcl::SampleConsensusModel< PointT >::model_size_ и pcl::SampleConsensusModel< PointT >::sample_size_.

SampleConsensusModelNormalSphere() [2/2]

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::SampleConsensusModelNormalSphere ( const PointCloudConstPtr & cloud,
const Indices & indices,
bool random = false
)
inline

Конструктор базового класса SampleConsensusModelNormalSphere.

Параметры
[in] cloud набор входных точек облака
[in] indices вектор индексов точек, которые будут использованы из cloud
[in] random если true, устанавливает seed для генератора случайных чисел в текущее время, иначе устанавливает в 12345 (по умолчанию: false)

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

Ссылки на pcl::SampleConsensusModel< PointT >::model_name_, pcl::SampleConsensusModel< PointT >::model_size_ и pcl::SampleConsensusModel< PointT >::sample_size_.

~SampleConsensusModelNormalSphere()

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::~SampleConsensusModelNormalSphere ( )
overridedefault

Пустой деструктор.

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

countWithinDistance()

template<typename PointT , typename PointNT >
std::size_t pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::countWithinDistance ( const Eigen::VectorXf & model_coefficients,
const double threshold
) const
overridevirtual

Подсчёт всех точек, которые соответствуют заданным коэффициентам модели как инлайнов.

Параметры
[in] model_coefficients коэффициенты модели, для которой необходимо вычислить расстояния
[in] threshold максимально допустимое пороговое значение расстояния для определения инлайнов от аутлайнов
Возвращает
результирующее количество инлайнов

Реализует pcl::SampleConsensusModel< PointT >.

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

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

getDistancesToModel()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::getDistancesToModel ( const Eigen::VectorXf & model_coefficients,
std::vector< double > & distances
) const
overridevirtual

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

Параметры
[in] model_coefficients коэффициенты сферической модели, для которой необходимо вычислить расстояния
[out] distances результирующие рассчитанные расстояния

Реализует pcl::SampleConsensusModel< PointT >.

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

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

getModelType()

template<typename PointT , typename PointNT >
pcl::SacModel pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::getModelType ( ) const
inlineoverridevirtual

Возвращает уникальный идентификатор для этой модели (SACMODEL_NORMAL_SPHERE).

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылается на pcl::SACMODEL_NORMAL_SPHERE.

selectWithinDistance()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::selectWithinDistance ( const Eigen::VectorXf & model_coefficients,
const double threshold,
Indices & inliers
)
overridevirtual

Выбирает все точки, которые соответствуют заданным коэффициентам модели, как инлайнеры.

Параметры
[in] model_coefficients коэффициенты модели сферы, к которым необходимо вычислить расстояния
[in] threshold максимально допустимое пороговое расстояние для определения инлайнеров от аутлайнеров
[out] inliers результирующие инлайнеры модели

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылается на pcl::geometry::distance(), pcl::getAngle3D() и M_PI.


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

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

Spec-Zone.ru

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