Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelCircle2D определяет модель для сегментации окружностей в 2D на плоскости X-Y. Подробнее...

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

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

SampleConsensusModelCircle2D (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModelCircle2D. Подробнее...
SampleConsensusModelCircle2D (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelCircle2D. Подробнее...
SampleConsensusModelCircle2D (const SampleConsensusModelCircle2D &source)
Конструктор копирования. Подробнее...
~SampleConsensusModelCircle2D () override=default
Пустой деструктор. Подробнее...
SampleConsensusModelCircle2D & operator= (const SampleConsensusModelCircle2D &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_CIRCLE2D). Подробнее...
- Открытые функции-члены, унаследованные от 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_
Общий указатель 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::SampleConsensusModel< PointT >
static const unsigned int max_sample_checks_ = 1000
Максимальное число выборок, которые следует проверить, прежде чем будет найдена корректная. Подробнее...

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

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

SampleConsensusModelCircle2D задает модель для сегментации окружности в 2D на плоскости X-Y.

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

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

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

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

ConstPtr

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

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

PointCloud

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

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

PointCloudConstPtr

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

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

PointCloudPtr

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

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

Ptr

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

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

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

SampleConsensusModelCircle2D() [1/3]

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

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

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

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

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

SampleConsensusModelCircle2D() [2/3]

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

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

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

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

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

SampleConsensusModelCircle2D() [3/3]

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

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

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

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

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

~SampleConsensusModelCircle2D()

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

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

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

computeModelCoefficients()

template<typename PointT >
bool pcl::SampleConsensusModelCircle2D< 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 >.

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

countWithinDistance()

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

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

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

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

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

countWithinDistanceStandard()

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

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

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

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

doSamplesVerifyModel()

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

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

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

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

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

getDistancesToModel()

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

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

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

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

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

getModelType()

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

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

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

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

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

isModelValid()

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

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

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

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

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

isSampleGood()

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

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

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

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

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

operator=()

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

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

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

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

optimizeModelCoefficients()

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

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

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

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

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

projectPoints()

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

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

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

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

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

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

selectWithinDistance()

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

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

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

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

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


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

Spec-Zone.ru

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