Spec-Zone.ru › PointCloudLibrary

PrincipalCurvaturesEstimation оценивает направления (собственные векторы) и величины (собственные значения) главных кривизн поверхности для заданного набора данных облака точек, содержащего точки и нормали. Подробнее...

#include <pcl/features/principal_curvatures.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

Открытые типы

using Ptr = shared_ptr< PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT > >
using ConstPtr = shared_ptr< const PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT > >
using PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut
using PointCloudIn = pcl::PointCloud< PointInT >
- Открытые типы, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::PrincipalCurvatures >
using PointCloudN = pcl::PointCloud< PointNT >
using PointCloudNPtr = typename PointCloudN::Ptr
using PointCloudNConstPtr = typename PointCloudN::ConstPtr
using Ptr = shared_ptr< FeatureFromNormals< PointInT, PointNT, pcl::PrincipalCurvatures > >
using ConstPtr = shared_ptr< const FeatureFromNormals< PointInT, PointNT, pcl::PrincipalCurvatures > >
- Открытые типы, унаследованные от pcl::Feature< PointInT, PointOutT >
using BaseClass = PCLBase< PointInT >
using Ptr = shared_ptr< Feature< PointInT, PointOutT > >
using ConstPtr = shared_ptr< const Feature< PointInT, PointOutT > >
using KdTree = pcl::search::Search< PointInT >
using KdTreePtr = typename KdTree::Ptr
using PointCloudIn = pcl::PointCloud< PointInT >
using PointCloudInPtr = typename PointCloudIn::Ptr
using PointCloudInConstPtr = typename PointCloudIn::ConstPtr
using PointCloudOut = pcl::PointCloud< PointOutT >
using SearchMethod = std::function< int(std::size_t, double, pcl::Indices &, std::vector< float > &)>
using SearchMethodSurface = std::function< int(const PointCloudIn &cloud, std::size_t index, double, pcl::Indices &, std::vector< float > &)>
- Открытые типы, унаследованные от pcl::PCLBase< PointInT >
using PointCloud = pcl::PointCloud< PointInT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

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

PrincipalCurvaturesEstimation (unsigned int nr_threads=1, int chunk_size=256)
Инициализирует планировщик и задаёт количество используемых потоков. Подробнее...
void computePointPrincipalCurvatures (const pcl::PointCloud< PointNT > &normals, int p_idx, const pcl::Indices &indices, float &pcx, float &pcy, float &pcz, float &pc1, float &pc2)
Выполняет анализ главных компонент (PCA) нормалей точек участка поверхности в касательной плоскости к нормали заданной точки и возвращает главную кривизну (собственный вектор, соответствующий максимальному собственному значению), а также максимальное (pc1) и минимальное (pc2) собственные значения. Подробнее...
void setNumberOfThreads (unsigned int nr_threads)
Инициализирует планировщик и задаёт количество используемых потоков. Подробнее...
- Открытые функции-члены, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::PrincipalCurvatures >
FeatureFromNormals ()
Конструктор без параметров. Подробнее...
void setInputNormals (const PointCloudNConstPtr &normals)
Задаёт указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
PointCloudNConstPtr getInputNormals () const
Возвращает указатель на нормали входного набора облака точек XYZ. Подробнее...
- Открытые функции-члены, унаследованные от pcl::Feature< PointInT, PointOutT >
Feature ()
Конструктор без параметров. Подробнее...
void setSearchSurface (const PointCloudInConstPtr &cloud)
Задаёт указатель на набор данных для добавления сведений, необходимых при оценке признаков каждой точки входного набора данных. Подробнее...
PointCloudInConstPtr getSearchSurface () const
Возвращает указатель на набор данных облака точек поверхности. Подробнее...
void setSearchMethod (const KdTreePtr &tree)
Задаёт указатель на объект поиска. Подробнее...
KdTreePtr getSearchMethod () const
Возвращает указатель на используемый метод поиска. Подробнее...
double getSearchParameter () const
Возвращает внутренний параметр поиска. Подробнее...
void setKSearch (int k)
Задаёт количество k ближайших соседей, используемых для оценки признаков. Подробнее...
int getKSearch () const
Возвращает количество k ближайших соседей, используемых для оценки признаков. Подробнее...
void setRadiusSearch (double radius)
Задаёт радиус сферы, используемый для определения ближайших соседей при оценке признаков. Подробнее...
double getRadiusSearch () const
Возвращает радиус сферы, используемый для определения соседей. Подробнее...
void compute (PointCloudOut &output)
Базовый метод оценки признаков для всех точек, заданных в <setInputCloud (), setIndices ()>, с использованием поверхности из setSearchSurface () и пространственного локатора из setSearchMethod (). Подробнее...
- Открытые функции-члены, унаследованные от pcl::PCLBase< PointInT >
PCLBase ()
Конструктор без параметров. Подробнее...
PCLBase (const PCLBase &base)
Конструктор копирования. Подробнее...
virtual ~PCLBase ()=default
Деструктор. Подробнее...
virtual void setInputCloud (const PointCloudConstPtr &cloud)
Задаёт указатель на входной набор данных. Подробнее...
PointCloudConstPtr const getInputCloud () const
Возвращает указатель на входной набор облака точек. Подробнее...
virtual void setIndices (const IndicesPtr &indices)
Задаёт указатель на вектор индексов, представляющий входные данные. Подробнее...
virtual void setIndices (const IndicesConstPtr &indices)
Задаёт указатель на вектор индексов, представляющий входные данные. Подробнее...
virtual void setIndices (const PointIndicesConstPtr &indices)
Задаёт указатель на вектор индексов, представляющий входные данные. Подробнее...
virtual void setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
Задаёт индексы точек, находящихся в области интереса облака точек. Подробнее...
IndicesPtr getIndices ()
Возвращает указатель на используемый вектор индексов. Подробнее...
IndicesConstPtr const getIndices () const
Возвращает указатель на используемый вектор индексов. Подробнее...
const PointInT & operator[] (std::size_t pos) const
Переопределяет оператор PointCloud operator[] для сокращения кода. Подробнее...

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

void computeFeature (PointCloudOut &output) override
Оценить главную кривизну (собственный вектор, соответствующий максимальному собственному значению), а также максимальное (pc1) и минимальное (pc2) собственные значения для всех точек, заданных в <setInputCloud (), setIndices ()>, используя поверхность из setSearchSurface () и пространственный локатор из setSearchMethod () Подробнее...
- Защищённые функции-члены, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::PrincipalCurvatures >
virtual bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::Feature< PointInT, PointOutT >
const std::string & getClassName () const
Получить строковое представление имени этого класса. Подробнее...
virtual bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...
int searchForNeighbors (std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const
Поиск k ближайших соседей с использованием пространственного локатора из setSearchmethod и заданной поверхности из setSearchSurface. Подробнее...
int searchForNeighbors (const PointCloudIn &cloud, std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const
Поиск k ближайших соседей с использованием пространственного локатора из setSearchmethod и заданной поверхности из setSearchSurface. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::PCLBase< PointInT >
bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...

Защищённые атрибуты

unsigned int threads_
Количество потоков, которые должен использовать планировщик. Подробнее...
int chunk_size_
Размер блока для (динамического) планирования. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::PrincipalCurvatures >
PointCloudNConstPtr normals_
Указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::Feature< PointInT, PointOutT >
std::string feature_name_
Имя признака. Подробнее...
SearchMethodSurface search_method_surface_
Шаблон метода поиска точек. Подробнее...
PointCloudInConstPtr surface_
Входное облако точек, описывающее поверхность, которая будет использоваться для оценки ближайших соседей. Подробнее...
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
double search_parameter_
Фактический параметр поиска (из search_radius_ или k_). Подробнее...
double search_radius_
Радиус поиска ближайших соседей для каждой точки. Подробнее...
int k_
Количество K ближайших соседей для каждой точки. Подробнее...
bool fake_surface_
Если поверхность не задана, в качестве поверхности используется входной PointCloud. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointInT >
PointCloudConstPtr input_
Входной набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек, которые следует использовать. Подробнее...
bool use_indices_
Установить в true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку PointCloud. Подробнее...

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

template<typename PointInT, typename PointNT, typename PointOutT = pcl::PrincipalCurvatures>
class pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >

PrincipalCurvaturesEstimation оценивает направления (собственные векторы) и величины (собственные значения) главных кривизн поверхности для заданного набора данных облака точек, содержащего точки и нормали.

Результат содержит главную кривизну (собственный вектор, соответствующий максимальному собственному значению), а также максимальное (pc1) и минимальное (pc2) собственные значения. Поддерживается параллельное выполнение с помощью OpenMP.

Рекомендуемый тип PointOutT — pcl::PrincipalCurvatures.

Автор
Radu B. Rusu, Jared Glover, Alex Navarro

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

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

ConstPtr

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PrincipalCurvatures>
using pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::ConstPtr = shared_ptr<const PrincipalCurvaturesEstimation<PointInT, PointNT, PointOutT> >

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

PointCloudIn

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PrincipalCurvatures>
using pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::PointCloudIn = pcl::PointCloud<PointInT>

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

PointCloudOut

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PrincipalCurvatures>
using pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut

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

Ptr

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PrincipalCurvatures>
using pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::Ptr = shared_ptr<PrincipalCurvaturesEstimation<PointInT, PointNT, PointOutT> >

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

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

PrincipalCurvaturesEstimation()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PrincipalCurvatures>
pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::PrincipalCurvaturesEstimation ( unsigned int nr_threads = 1,
int chunk_size = 256
)
inline

Инициализировать планировщик и задать количество используемых потоков.

Параметры
nr_threads количество используемых аппаратных потоков (значение 0 задаёт автоматический режим)
chunk_size PCL будет использовать динамическое планирование с этим размером блока. Слишком малое значение приведёт к увеличению накладных расходов на распараллеливание. Слишком большое значение ухудшит балансировку нагрузки между потоками.

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

Ссылки: pcl::Feature< PointInT, PointOutT >::feature_name_ и pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::setNumberOfThreads().

Описание функций-членов

computeFeature()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::computeFeature ( PointCloudOut & output )
overrideprotectedvirtual

Оценить главную кривизну (собственный вектор, соответствующий максимальному собственному значению), а также максимальное (pc1) и минимальное (pc2) собственные значения для всех точек, заданных в <setInputCloud (), setIndices ()>, используя поверхность из setSearchSurface () и пространственный локатор из setSearchMethod ()

Параметры
[out] output результирующий набор данных облака точек, содержащий оценки главной кривизны

Реализует pcl::Feature< PointInT, PointOutT >.

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

Ссылки: pcl::PointCloud< PointT >::is_dense и pcl::isFinite().

computePointPrincipalCurvatures()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::computePointPrincipalCurvatures ( const pcl::PointCloud< PointNT > & normals,
int p_idx,
const pcl::Indices & indices,
float & pcx,
float & pcy,
float & pcz,
float & pc1,
float & pc2
)

Выполняет анализ главных компонент (PCA) нормалей точек участка поверхности в касательной плоскости заданной нормали точки и возвращает главную кривизну (собственный вектор, соответствующий максимальному собственному значению), а также максимальное (pc1) и минимальное (pc2) собственные значения.

Параметры
[in] normals нормали облака точек
[in] p_idx точка запроса, для которой была оценена плоскость методом наименьших квадратов
[in] indices индексы облака точек, которые необходимо использовать
[out] pcx направление главной кривизны по оси X
[out] pcy направление главной кривизны по оси Y
[out] pcz направление главной кривизны по оси Z
[out] pc1 максимальное собственное значение кривизны
[out] pc2 минимальное собственное значение кривизны

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

Ссылки: pcl::computeCorrespondingEigenVector() и pcl::eigen33().

setNumberOfThreads()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::setNumberOfThreads ( unsigned int nr_threads )

Инициализирует планировщик и задаёт количество используемых потоков.

По умолчанию выполнение происходит в одном потоке.

Параметры
nr_threads количество используемых аппаратных потоков (значение 0 задаёт автоматический выбор)

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

Используется в pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::PrincipalCurvaturesEstimation().

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

chunk_size_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PrincipalCurvatures>
int pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::chunk_size_
protected

Размер блока для (динамического) планирования.

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

threads_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PrincipalCurvatures>
unsigned int pcl::PrincipalCurvaturesEstimation< PointInT, PointNT, PointOutT >::threads_
protected

Количество потоков, которое должен использовать планировщик.

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


Документация этого класса создана на основе следующих файлов:
  • pcl/features/principal_curvatures.h
  • pcl/features/impl/principal_curvatures.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_principal_curvatures_estimation.html

Spec-Zone.ru

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