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. Подробнее...
SampleConsensusModelStick (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelStick. Подробнее...
~SampleConsensusModelStick () override=default
Пустой деструктор. Подробнее...
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_STICK). Подробнее...
- Открытые функции-члены, унаследованные от 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 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_
Указатель 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::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

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

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

ConstPtr

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

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

PointCloud

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

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

PointCloudConstPtr

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

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

PointCloudPtr

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

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

Ptr

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

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

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

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

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)

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

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

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