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

Параметры
[вход] cloud входное облако точек
[вход] indices вектор индексов точек, которые будут использоваться из cloud
[вход] 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

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

Параметры
[вход] 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.

Параметры
[вход] samples индексы точек, найденные в качестве потенциальных кандидатов для создания корректной модели
[выход] 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

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

Параметры
[вход] model_coefficients коэффициенты модели, к которым нужно вычислить расстояния
[вход] 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.

Parameters
[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.

Parameters
[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

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

Parameters
[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

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

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

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

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

operator=()

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

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

Parameters
[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