Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelSphere определяет модель для сегментации 3D сферы. Подробнее...

#include <pcl/sample_consensus/sac_model_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 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 > >

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

SampleConsensusModelSphere (const PointCloudConstPtr &cloud, bool random=false)
Конструктор для базового SampleConsensusModelSphere. More...
SampleConsensusModelSphere (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор для базового SampleConsensusModelSphere. More...
~SampleConsensusModelSphere () override=default
Пустой деструктор. More...
SampleConsensusModelSphere (const SampleConsensusModelSphere &source)
Конструктор копирования. More...
SampleConsensusModelSphere & operator= (const SampleConsensusModelSphere &source)
Конструктор копирования. More...
bool computeModelCoefficients (const Indices &samples, Eigen::VectorXf &model_coefficients) const override
Проверить, могут ли заданные индексные образцы образовать допустимую модель сферы, вычислить коэффициенты модели из этих образцов и сохранить их внутренне в model_coefficients. More...
void getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const override
Вычислить все расстояния от данных облака до заданной модели сферы. More...
void selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers) override
Выбрать все точки, которые соответствуют заданным коэффициентам модели как внутренние. More...
std::size_t countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const override
Подсчитать все точки, которые соответствуют заданным коэффициентам модели как внутренние. More...
void optimizeModelCoefficients (const Indices &inliers, const Eigen::VectorXf &model_coefficients, Eigen::VectorXf &optimized_coefficients) const override
Пересчитать коэффициенты сферы, используя заданный набор внутренних точек, и вернуть их пользователю. More...
void projectPoints (const Indices &inliers, const Eigen::VectorXf &model_coefficients, PointCloud &projected_points, bool copy_data_fields=true) const override
Создать новое облако точек с внутренними точками, спроецированными на модель сферы. More...
bool doSamplesVerifyModel (const std::set< index_t > &indices, const Eigen::VectorXf &model_coefficients, const double threshold) const override
Проверить, подтверждает ли подмножество индексов заданные коэффициенты модели сферы. More...
pcl::SacModel getModelType () const override
Возвращает уникальный идентификатор для этой модели (SACMODEL_SPHERE). More...
- Публичные функции-члены, унаследованные от 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
Вычислить дисперсию ошибок относительно модели из внутренней оценки вектора расстояний. Подробнее...

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

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_
Указатель на данные облака точек. Подробнее...
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::SampleConsensusModel< PointT >
static const unsigned int max_sample_checks_ = 1000
Максимальное количество проб, которое будет проверено, пока не найдётся подходящая. Подробнее...

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

template<typename PointT>
class pcl::SampleConsensusModelSphere< PointT >

SampleConsensusModelSphere определяет модель для сегментации 3D сферы.

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

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

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

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

ConstPtr

template<typename PointT >
using pcl::SampleConsensusModelSphere< PointT >::ConstPtr = shared_ptr<const SampleConsensusModelSphere<PointT> >

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

PointCloud

template<typename PointT >
using pcl::SampleConsensusModelSphere< PointT >::PointCloud = typename SampleConsensusModel<PointT>::PointCloud

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

PointCloudConstPtr

template<typename PointT >
using pcl::SampleConsensusModelSphere< PointT >::PointCloudConstPtr = typename SampleConsensusModel<PointT>::PointCloudConstPtr

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

PointCloudPtr

template<typename PointT >
using pcl::SampleConsensusModelSphere< PointT >::PointCloudPtr = typename SampleConsensusModel<PointT>::PointCloudPtr

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

Ptr

template<typename PointT >
using pcl::SampleConsensusModelSphere< PointT >::Ptr = shared_ptr<SampleConsensusModelSphere<PointT> >

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

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

SampleConsensusModelSphere() [1/3]

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

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

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

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

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

SampleConsensusModelSphere() [2/3]

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

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

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

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

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

~SampleConsensusModelSphere()

template<typename PointT >
pcl::SampleConsensusModelSphere< PointT >::~SampleConsensusModelSphere ( )
overridedefault

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

SampleConsensusModelSphere() [3/3]

template<typename PointT >
pcl::SampleConsensusModelSphere< PointT >::SampleConsensusModelSphere ( const SampleConsensusModelSphere< PointT > & source )
inline

Копирующий конструктор.

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

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

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

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

computeModelCoefficients()

template<typename PointT >
bool pcl::SampleConsensusModelSphere< PointT >::computeModelCoefficients ( const Indices & samples,
Eigen::VectorXf & model_coefficients
) const
overridevirtual

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

Коэффициенты сферы: x, y, z, R.

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

Реализация pcl::SampleConsensusModel< PointT >.

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

countWithinDistance()

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

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

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

Реализация pcl::SampleConsensusModel< PointT >.

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

countWithinDistanceStandard()

template<typename PointT >
std::size_t pcl::SampleConsensusModelSphere< PointT >::countWithinDistanceStandard ( const Eigen::VectorXf & model_coefficients,
const double threshold,
std::size_t i = 0
) const
protected

Эта реализация не использует SIMD инструкций.

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

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

doSamplesVerifyModel()

template<typename PointT >
bool pcl::SampleConsensusModelSphere< PointT >::doSamplesVerifyModel ( const std::set< index_t > & indices,
const Eigen::VectorXf & model_coefficients,
const double threshold
) const
overridevirtual

Проверить, удовлетворяет ли подмножество индексов заданным коэффициентам модели сферы.

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

Реализация pcl::SampleConsensusModel< PointT >.

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

getDistancesToModel()

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

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

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

Реализация pcl::SampleConsensusModel< PointT >.

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

getModelType()

template<typename PointT >
pcl::SacModel pcl::SampleConsensusModelSphere< PointT >::getModelType ( ) const
inlineoverridevirtual

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

Реализация pcl::SampleConsensusModel< PointT >.

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

Ссылки на pcl::SACMODEL_SPHERE.

isModelValid()

template<typename PointT >
bool pcl::SampleConsensusModelSphere< PointT >::isModelValid ( const Eigen::VectorXf & model_coefficients ) const
inlineoverrideprotectedvirtual

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

Параметры
[in] model_coefficients набор коэффициентов модели

Переопределено из pcl::SampleConsensusModel< PointT >.

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

Ссылки на pcl::SampleConsensusModel< PointT >::radius_max_ и pcl::SampleConsensusModel< PointT >::radius_min_.

isSampleGood()

template<typename PointT >
bool pcl::SampleConsensusModelSphere< PointT >::isSampleGood ( const Indices & samples ) const
overrideprotectedvirtual

Проверка, является ли выборка индексов хорошей.

Параметры
[in] samples результат выборки индексов

Реализация pcl::SampleConsensusModel< PointT >.

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

operator=()

template<typename PointT >
SampleConsensusModelSphere& pcl::SampleConsensusModelSphere< PointT >::operator= ( const SampleConsensusModelSphere< PointT > & source )
inline

Конструктор копирования.

Параметры
[in] source модель, которую нужно скопировать

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

optimizeModelCoefficients()

template<typename PointT >
void pcl::SampleConsensusModelSphere< PointT >::optimizeModelCoefficients ( const Indices & inliers,
const Eigen::VectorXf & model_coefficients,
Eigen::VectorXf & optimized_coefficients
) const
overridevirtual

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

Примечание
: это коэффициенты модели сферы после уточнения (например, после SVD)
Параметры
[вход] inliers данные точки-входные данные, найденные в качестве поддерживающих модель
[вход] model_coefficients начальное предположение для оптимизации
[выход] optimized_coefficients результирующие пересчитанные коэффициенты после нелинейной оптимизации

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

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

projectPoints()

template<typename PointT >
void pcl::SampleConsensusModelSphere< PointT >::projectPoints ( const Indices & inliers,
const Eigen::VectorXf & model_coefficients,
PointCloud & projected_points,
bool copy_data_fields = true
) const
overridevirtual

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

Параметры
[вход] inliers точки-входные данные, которые мы хотим спроецировать на модель сферы
[вход] model_coefficients коэффициенты модели сферы
[выход] projected_points результирующие спроецированные точки
[вход] copy_data_fields установите в true, если нам нужно скопировать другие поля данных
Задача:
реализовать это.

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

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

Ссылки на pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::K, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::resize(), и pcl::PointCloud< PointT >::width.

selectWithinDistance()

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

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

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

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

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


Документация по этому классу была сгенерирована из следующих файлов:
  • pcl/sample_consensus/sac_model_sphere.h
  • pcl/sample_consensus/impl/sac_model_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_sphere.html

Spec-Zone.ru

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