Spec-Zone.ru › PointCloudLibrary

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

#include <pcl/sample_consensus/sac_model_torus.h>

Inheritance graph
[условные обозначения]
Collaboration graph
[условные обозначения]

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

using Ptr = shared_ptr< SampleConsensusModelTorus< PointT, PointNT > >
using ConstPtr = shared_ptr< const SampleConsensusModelTorus< PointT, PointNT > >
- Общедоступные типы, унаследованные от 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 > >
- Общедоступные типы, унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
using PointCloudNConstPtr = typename pcl::PointCloud< PointNT >::ConstPtr
using PointCloudNPtr = typename pcl::PointCloud< PointNT >::Ptr
using Ptr = shared_ptr< SampleConsensusModelFromNormals< PointT, PointNT > >
using ConstPtr = shared_ptr< const SampleConsensusModelFromNormals< PointT, PointNT > >

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

SampleConsensusModelTorus (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModelTorus. Подробнее...
SampleConsensusModelTorus (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelTorus. Подробнее...
SampleConsensusModelTorus (const SampleConsensusModelTorus &source)
Конструктор копирования. Подробнее...
~SampleConsensusModelTorus () override=default
Пустой деструктор. Подробнее...
SampleConsensusModelTorus & operator= (const SampleConsensusModelTorus &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_TORUS). Подробнее...
- Открытые функции-члены, унаследованные от 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
Вычисляет дисперсию ошибок модели по внутренне вычисленному вектору расстояний. Подробнее...
- Открытые функции-члены, унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
SampleConsensusModelFromNormals ()
Пустой конструктор базового класса SampleConsensusModelFromNormals. Подробнее...
virtual ~SampleConsensusModelFromNormals ()=default
Деструктор. Подробнее...
void setNormalDistanceWeight (const double w)
Задает вес углового расстояния до нормали. Подробнее...
double getNormalDistanceWeight () const
Получить вес углового расстояния между нормалями. Подробнее...
void setInputNormals (const PointCloudNConstPtr &normals)
Передать указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
PointCloudNConstPtr getInputNormals () const
Получить указатель на нормали точек входного облака точек XYZ. Подробнее...

Защищённые функции-члены

void projectPointToTorus (const Eigen::Vector3f &pt, const Eigen::Vector3f &pt_n, const Eigen::VectorXf &model_coefficients, Eigen::Vector3f &pt_proj) const
Спроецировать точку на тор, заданный коэффициентами его модели (радиусы, torus_center_point, torus_normal). Подробнее...
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 на массив данных облака точек. Подробнее...
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::SampleConsensusModelFromNormals< PointT, PointNT >
double normal_distance_weight_ {0.0}
Относительный вес (от 0 до 1), присваиваемый угловому расстоянию (от 0 до pi/2) между нормалями точек и нормалью плоскости. Подробнее...
PointCloudNConstPtr normals_
Указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
- Статические защищённые атрибуты, унаследованные от pcl::SampleConsensusModel< PointT >
static const unsigned int max_sample_checks_ = 1000
Максимальное число проверяемых выборок до получения подходящей. Подробнее...

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

template<typename PointT, typename PointNT>
class pcl::SampleConsensusModelTorus< PointT, PointNT >

SampleConsensusModelTorus задаёт модель для сегментации трёхмерного тора.

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

  • radii.inner : внутренний радиус тора
  • radii.outer : внешний радиус тора
  • torus_center_point.x : координата X центра тора
  • torus_center_point.y : координата Y центра тора
  • torus_center_point.z : координата Z центра тора
  • torus_normal.x : координата X нормали тора
  • torus_normal.y : координата Y нормали тора
  • torus_normal.z : координата Z нормали тора
Автор
lasdasdas

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

Описание псевдонимов типов-членов

ConstPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelTorus< PointT, PointNT >::ConstPtr = shared_ptr<const SampleConsensusModelTorus<PointT, PointNT> >

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

Ptr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelTorus< PointT, PointNT >::Ptr = shared_ptr<SampleConsensusModelTorus<PointT, PointNT> >

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

Описание конструкторов и деструктора

SampleConsensusModelTorus() [1/3]

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

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

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

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

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

SampleConsensusModelTorus() [2/3]

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

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

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

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

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

SampleConsensusModelTorus() [3/3]

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelTorus< PointT, PointNT >::SampleConsensusModelTorus ( const SampleConsensusModelTorus< PointT, PointNT > & source )
inline

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

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

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

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

~SampleConsensusModelTorus()

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelTorus< PointT, PointNT >::~SampleConsensusModelTorus ( )
overridedefault

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

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

computeModelCoefficients()

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

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

Коэффициенты тора: радиусы, torus_center_point, torus_normal.

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

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

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

countWithinDistance()

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

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

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

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

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

Ссылка: pcl::geometry::distance().

doSamplesVerifyModel()

template<typename PointT , typename PointNT >
bool pcl::SampleConsensusModelTorus< PointT, PointNT >::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 >.

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

getDistancesToModel()

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

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

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

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

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

getModelType()

template<typename PointT , typename PointNT >
pcl::SacModel pcl::SampleConsensusModelTorus< PointT, PointNT >::getModelType ( ) const
inlineoverridevirtual

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

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

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

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

isModelValid()

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

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

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

Переопределённый метод класса pcl::SampleConsensusModel< PointT >.

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

isSampleGood()

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

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

Чисто виртуальный метод.

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

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

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

operator=()

template<typename PointT , typename PointNT >
SampleConsensusModelTorus& pcl::SampleConsensusModelTorus< PointT, PointNT >::operator= ( const SampleConsensusModelTorus< PointT, PointNT > & source )
inline

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

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

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

optimizeModelCoefficients()

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

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

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

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

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

projectPoints()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelTorus< PointT, PointNT >::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 >.

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

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

projectPointToTorus()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelTorus< PointT, PointNT >::projectPointToTorus ( const Eigen::Vector3f & pt,
const Eigen::Vector3f & pt_n,
const Eigen::VectorXf & model_coefficients,
Eigen::Vector3f & pt_proj
) const
protected

Проецирует точку на тор, заданный его коэффициентами модели (радиусы, torus_center_point, torus_normal).

Параметры
[in] pt входная точка для проецирования
[in] model_coefficients коэффициенты тора (радиусы, torus_center_point, torus_normal)
[out] pt_proj полученная спроецированная точка

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

selectWithinDistance()

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

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

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

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

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

Ссылки на pcl::geometry::distance().


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

Spec-Zone.ru

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