Spec-Zone.ru › PointCloudLibrary

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

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

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

SampleConsensusModelStick (const PointCloudConstPtr &cloud, bool random=false)
Конструктор для базового SampleConsensusModelStick. More...
SampleConsensusModelStick (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор для базового SampleConsensusModelStick. More...
~SampleConsensusModelStick () override=default
Пустой деструктор. 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_STICK). More...
- Публичные функции-члены, унаследованные от pcl::SampleConsensusModel< PointT >
SampleConsensusModel (const PointCloudConstPtr &cloud, bool random=false)
Конструктор для базового SampleConsensusModel. More...
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 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_. Подробнее...
virtual bool isModelValid (const Eigen::VectorXf &model_coefficients) const
Проверить, является ли модель действительной с учётом ограничений пользователя. Подробнее...
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::SampleConsensusModelStick< PointT >

SampleConsensusModelStick определяет модель для сегментации 3D палочек.

Палочка — это линия с заданной минимальной/максимальной шириной. Коэффициенты модели определяются как:

  • point_on_line.x : координата X точки на линии
  • point_on_line.y : координата Y точки на линии
  • point_on_line.z : координата Z точки на линии
  • line_direction.x : координата X направления линии
  • line_direction.y : координата Y направления линии
  • line_direction.z : координата Z направления линии
  • line_width : ширина линии
Автор
Radu B. Rusu

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

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

ConstPtr

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

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

PointCloud

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

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

PointCloudConstPtr

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

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

PointCloudPtr

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

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

Ptr

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

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

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

SampleConsensusModelStick() [1/2]

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

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

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

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

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

END_OF_DOCUMENT_MARKER

SampleConsensusModelStick() [2/2]

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

Конструктор для базового класса SampleConsensusModelStick.

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

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

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

~SampleConsensusModelStick()

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

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

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

computeModelCoefficients()

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

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

Коэффициенты палочки представлены точкой и вектором направления линии.

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

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

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

countWithinDistance()

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

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

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

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

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

doSamplesVerifyModel()

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

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

getDistancesToModel()

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

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

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

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

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

getModelType()

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

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

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

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

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

isSampleGood()

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

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

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

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

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

optimizeModelCoefficients()

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

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

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

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

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

Ссылки на pcl::computeCorrespondingEigenVector(), pcl::computeMeanAndCovarianceMatrix() и pcl::eigen33().

projectPoints()

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

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

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

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

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

END_OF_DOCUMENT_MARKER

selectWithinDistance()

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

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

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

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

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


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

Spec-Zone.ru

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