Spec-Zone.ru › PointCloudLibrary

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

#include <pcl/sample_consensus/sac_model_circle3d.h>

Граф наследования
[легенда]
Граф сотрудничества
[легенда]

Общедоступные типы

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)
Копирующий конструктор. Подробнее...
- Общедоступные члены-функции унаследованные от pcl::SampleConsensusModel< PointT >
END_OF_DOCUMENT_MARKER
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)
Заполняет массив sample случайными выборками из вектора indices_. Подробнее...
void drawIndexSampleRadius (Indices &sample)
Заполняет массив sample одной случайной выборкой из вектора indices_ и другими случайными выборками, которые ближе, чем samples_radius_. Подробнее...
int rnd ()
Генератор случайных чисел на основе Boost. Подробнее...

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

- Защищенные атрибуты, унаследованные от pcl::SampleConsensusModel< PointT >
std::string model_name_
Имя модели. Подробнее...
PointCloudConstPtr input_
Указатель boost shared на массив данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
boost::mt19937 rng_alg_
Алгоритм генератора случайных чисел Boost. Подробнее...
std::function< bool(const Eigen::VectorXf &)> custom_model_constraints_
Пользовательская функция, которая принимает коэффициенты модели и возвращает, является ли модель приемлемой или нет. Подробнее...
- Статические защищённые атрибуты, унаследованные от pcl::SampleConsensusModel< PointT >
static const unsigned int max_sample_checks_ = 1000
Максимальное количество выборок для проверки, пока не будет найдена подходящая. Подробнее...

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

шаблон<typename PointT>
класс pcl::SampleConsensusModelCircle3D< PointT >

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

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

  • center.x : координата X центра окружности
  • center.y : координата Y центра окружности
  • center.z : координата Z центра окружности
  • radius : радиус окружности
  • normal.x : координата X направления нормали
  • normal.y : координата Y направления нормали
  • normal.z : координата Z направления нормали
Автор
Рауль Хоффманн, Кароль Хаусманн, Раду Б. Русу

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

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

ConstPtr

шаблон<typename PointT >
используется pcl::SampleConsensusModelCircle3D< PointT >::ConstPtr = shared_ptr<const SampleConsensusModelCircle3D<PointT> >

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

PointCloud

шаблон<typename PointT >
используется pcl::SampleConsensusModelCircle3D< PointT >::PointCloud = typename SampleConsensusModel<PointT>::PointCloud

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

PointCloudConstPtr

шаблон<typename PointT >
используется pcl::SampleConsensusModelCircle3D< PointT >::PointCloudConstPtr = typename SampleConsensusModel<PointT>::PointCloudConstPtr

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

PointCloudPtr

шаблон<typename PointT >
используется pcl::SampleConsensusModelCircle3D< PointT >::PointCloudPtr = typename SampleConsensusModel<PointT>::PointCloudPtr

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

Ptr

шаблон<typename PointT >
используется pcl::SampleConsensusModelCircle3D< PointT >::Ptr = shared_ptr<SampleConsensusModelCircle3D<PointT> >

Определение в строке 73 файла 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)

Определение в строке 80 файла 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)

Определение в строке 94 файла 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 модель для копирования

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

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

Member Function Documentation

computeModelCoefficients()

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

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

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

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

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

Определение в строке 234 файла 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 окружности.

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

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

Определение в строке 414 файла 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 окружности.

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

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

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

isModelValid()

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

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

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

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

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

isSampleGood()

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

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

Parameters
[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 модель для копирования в эту

Определение в строке 121 файла 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 >.

Определение в строке 276 файла 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 >.

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

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