Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelCircle3D задаёт модель для сегментации 3D-окружностей. Подробнее...

#include <pcl/sample_consensus/sac_model_circle3d.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< SampleConsensusModelCircle3D< PointT > >
using ConstPtr = shared_ptr< const SampleConsensusModelCircle3D< 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 > >

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

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

SampleConsensusModelCircle3D задаёт модель для сегментации окружностей в 3D.

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

  • center.x : координата X центра окружности
  • center.y : координата Y центра окружности
  • center.z : координата Z центра окружности
  • radius : радиус окружности
  • normal.x : координата X направления нормали
  • normal.y : координата Y направления нормали
  • normal.z : координата Z направления нормали
Автор
Raoul Hoffmann, Karol Hausman, Radu B. Rusu

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

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

ConstPtr

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

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

PointCloud

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

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

PointCloudConstPtr

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

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

PointCloudPtr

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

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

Ptr

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

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

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

SampleConsensusModelCircle3D() [1/3]

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

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

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

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

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

SampleConsensusModelCircle3D() [2/3]

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

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

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

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

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

~SampleConsensusModelCircle3D()

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

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

SampleConsensusModelCircle3D() [3/3]

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

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

Параметры
[in] source модель, копируемая в этот объект

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

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

Описание функций-членов

computeModelCoefficients()

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

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

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

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

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

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

countWithinDistance()

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

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

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

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

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

Ссылка: pcl::K.

doSamplesVerifyModel()

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

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

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

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

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

Ссылка: pcl::K.

getDistancesToModel()

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

Вычисляет все расстояния от точек облака до заданной модели окружности в 3D.

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

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

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

getModelType()

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

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

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

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

Ссылка: pcl::SACMODEL_CIRCLE3D.

isModelValid()

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

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

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

Переопределяет метод pcl::SampleConsensusModel< PointT >.

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

isSampleGood()

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

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

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

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

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

operator=()

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

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

Параметры
[in] source модель, копируемая в этот объект

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

optimizeModelCoefficients()

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

Повторно вычисляет коэффициенты окружности в 3D по заданному набору точек, соответствующих модели, и возвращает их пользователю.

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

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

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

projectPoints()

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

Создаёт новое облако точек, проецируя точки, соответствующие модели, на модель окружности в 3D.

Параметры
[in] inliers точки данных, которые требуется спроецировать на модель окружности в 3D
[in] model_coefficients коэффициенты модели окружности в 3D
[out] projected_points результирующие спроецированные точки
[in] copy_data_fields установите значение true, если требуется скопировать остальные поля данных

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

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

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

selectWithinDistance()

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

Вычисляет все расстояния от точек облака до заданной модели окружности в 3D.

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

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

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


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

Spec-Zone.ru

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