Spec-Zone.ru › PointCloudLibrary

KdTreeFLANN — универсальный тип 3D-пространственного локатора, использующего структуры kD-дерева. Подробнее...

#include <pcl/kdtree/kdtree_flann.h>

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

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

using PointCloud = typename KdTree< PointT >::PointCloud
using PointCloudConstPtr = typename KdTree< PointT >::PointCloudConstPtr
using IndicesPtr = shared_ptr< Indices >
using IndicesConstPtr = shared_ptr< const Indices >
using FLANNIndex = ::flann::Index< Dist >
using Ptr = shared_ptr< KdTreeFLANN< PointT, Dist > >
using ConstPtr = shared_ptr< const KdTreeFLANN< PointT, Dist > >
- Общедоступные типы, унаследованные от pcl::KdTree< PointT >
using IndicesPtr = shared_ptr< Indices >
using IndicesConstPtr = shared_ptr< const Indices >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointRepresentation = pcl::PointRepresentation< PointT >
using PointRepresentationConstPtr = typename PointRepresentation::ConstPtr
using Ptr = shared_ptr< KdTree< PointT > >
using ConstPtr = shared_ptr< const KdTree< PointT > >
tr> tr>

Общедоступные функции-члены

KdTreeFLANN (bool sorted=true)
Конструктор по умолчанию для KdTreeFLANN. Подробнее...
KdTreeFLANN (const KdTreeFLANN< PointT, Dist > &k)
Конструктор копирования. Подробнее...
KdTreeFLANN< PointT, Dist > & operator= (const KdTreeFLANN< PointT, Dist > &k)
Оператор копирования. Подробнее...
void setEpsilon (float eps) override
Задать точность эпсилон поиска (предел погрешности) для поиска ближайших соседей. Подробнее...
void setSortedResults (bool sorted)
Ptr makeShared ()
~KdTreeFLANN () override
Деструктор для KdTreeFLANN. Подробнее...
void setInputCloud (const PointCloudConstPtr &cloud, const IndicesConstPtr &indices=IndicesConstPtr()) override
Задать указатель на входной набор данных. Подробнее...
int nearestKSearch (const PointT &point, unsigned int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const override
Найти k ближайших соседей для заданной точки запроса. Подробнее...
int radiusSearch (const PointT &point, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const override
Найти всех ближайших соседей точки запроса в заданном радиусе. Подробнее...
- Общедоступные функции-члены, унаследованные от pcl::KdTree< PointT >
KdTree (bool sorted=true)
Конструктор без параметров для KdTree. Подробнее...
IndicesConstPtr getIndices () const
Получить указатель на используемый вектор индексов. Подробнее...
PointCloudConstPtr getInputCloud () const
Получить указатель на входной набор данных облака точек. Подробнее...
void setPointRepresentation (const PointRepresentationConstPtr &point_representation)
Задать указатель на представление точки, используемое для преобразования точек в k-D-векторы. Подробнее...
PointRepresentationConstPtr getPointRepresentation () const
Получить указатель на представление точек, используемое при преобразовании точек в k-D-векторы. Подробнее...
virtual ~KdTree ()=default
Деструктор для KdTree. Подробнее...
virtual int nearestKSearch (const PointCloud &cloud, int index, unsigned int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const
Найти k ближайших соседей для заданной точки запроса. Подробнее...
template<typename PointTDiff >
int nearestKSearchT (const PointTDiff &point, unsigned int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const
Найти k ближайших соседей для заданной точки запроса. Подробнее...
virtual int nearestKSearch (int index, unsigned int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const
Найти k ближайших соседей для заданной точки запроса (без копирования данных). Подробнее...
virtual int radiusSearch (const PointCloud &cloud, int index, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const
Найти всех ближайших соседей точки запроса в заданном радиусе. Подробнее...
template<typename PointTDiff >
int radiusSearchT (const PointTDiff &point, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const
Найти всех ближайших соседей точки запроса в заданном радиусе. Подробнее...
virtual int radiusSearch (int index, double radius, Indices &k_indices, std::vector< float > &k_sqr_distances, unsigned int max_nn=0) const
Найти всех ближайших соседей точки запроса в заданном радиусе (без копирования данных). Подробнее...
float getEpsilon () const
Получить точность эпсилон поиска (предел погрешности) для поиска ближайших соседей. Подробнее...
void setMinPts (int min_pts)
Минимально допустимое количество точек среди k ближайших соседей, которое должен содержать допустимый результат. Подробнее...
int getMinPts () const
Получить минимально допустимое количество точек среди k ближайших соседей, которое должен содержать допустимый результат. Подробнее...
bool getSortedResults () const
Узнать, следует ли сортировать результаты (по возрастанию расстояния). В противном случае порядок результатов может быть произвольным. Подробнее...

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

- Защищённые атрибуты, унаследованные от pcl::KdTree< PointT >
PointCloudConstPtr input_
Входной набор данных облака точек, содержащий необходимые нам точки. Подробнее...
IndicesConstPtr indices_
Указатель на вектор используемых индексов точек. Подробнее...
float epsilon_ {0.0f}
Точность эпсилон (предел погрешности) для поиска ближайших соседей. Подробнее...
int min_pts_ {1}
Минимально допустимое количество точек среди k ближайших соседей, которое должен содержать допустимый результат. Подробнее...
bool sorted_
Возвращать соседей, найденных поиском по радиусу, в отсортированном порядке. Подробнее...
PointRepresentationConstPtr point_representation_
Для преобразования различных структур точек в k-мерные векторы при поиске ближайших соседей. Подробнее...

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

template<typename PointT, typename Dist = ::flann::L2_Simple<float>>
class pcl::KdTreeFLANN< PointT, Dist >

KdTreeFLANN — это универсальный тип пространственного локатора в 3D, использующий структуры kD-дерева.

В этом классе используется проект FLANN (Fast Library for Approximate Nearest Neighbor), созданный Мариусом Мухой и Дэвидом Лоу.

Автор
Radu B. Rusu, Marius Muja

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

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

ConstPtr

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
using pcl::KdTreeFLANN< PointT, Dist >::ConstPtr = shared_ptr<const KdTreeFLANN<PointT, Dist> >

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

FLANNIndex

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
using pcl::KdTreeFLANN< PointT, Dist >::FLANNIndex = ::flann::Index<Dist>

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

IndicesConstPtr

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
using pcl::KdTreeFLANN< PointT, Dist >::IndicesConstPtr = shared_ptr<const Indices>

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

IndicesPtr

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
using pcl::KdTreeFLANN< PointT, Dist >::IndicesPtr = shared_ptr<Indices>

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

PointCloud

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
using pcl::KdTreeFLANN< PointT, Dist >::PointCloud = typename KdTree<PointT>::PointCloud

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

PointCloudConstPtr

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
using pcl::KdTreeFLANN< PointT, Dist >::PointCloudConstPtr = typename KdTree<PointT>::PointCloudConstPtr

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

Ptr

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
using pcl::KdTreeFLANN< PointT, Dist >::Ptr = shared_ptr<KdTreeFLANN<PointT, Dist> >

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

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

KdTreeFLANN() [1/2]

template<typename PointT , typename Dist >
pcl::KdTreeFLANN< PointT, Dist >::KdTreeFLANN ( bool sorted = true )

Конструктор по умолчанию для KdTreeFLANN.

Параметры
[in] sorted установите значение true, если приложению, в котором будет использоваться дерево, требуются отсортированные индексы ближайших соседей (по умолчанию). В противном случае — False.

Если установить sorted в false, операции radiusSearch будут выполняться быстрее.

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

KdTreeFLANN() [2/2]

template<typename PointT , typename Dist >
pcl::KdTreeFLANN< PointT, Dist >::KdTreeFLANN ( const KdTreeFLANN< PointT, Dist > & k )

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

Параметры
[in] k дерево, которое копируется в этот объект

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

~KdTreeFLANN()

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
pcl::KdTreeFLANN< PointT, Dist >::~KdTreeFLANN ( )
inlineoverride

Деструктор для KdTreeFLANN.

Удаляет все выделенные массивы данных и уничтожает структуры kd-дерева.

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

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

makeShared()

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
Ptr pcl::KdTreeFLANN< PointT, Dist >::makeShared ( )
inline

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

nearestKSearch()

template<typename PointT , typename Dist >
int pcl::KdTreeFLANN< PointT, Dist >::nearestKSearch ( const PointT & point,
unsigned int k,
Indices & k_indices,
std::vector< float > & k_sqr_distances
) const
overridevirtual

Поиск k ближайших соседей для заданной точки запроса.

Внимание
Этот метод не проверяет входной индекс на выход за границы (т. е. index >= cloud.size () || index < 0) и предполагает, что данные корректны (т. е. конечны).
Параметры
[in] point заданная корректная (т. е. конечная) точка запроса
[in] k количество искомых соседей
[out] k_indices полученные индексы соседних точек (массив необходимо заранее изменить до размера k!)
[out] k_sqr_distances полученные квадраты расстояний до соседних точек (массив необходимо заранее изменить до размера k!)
Возвращает
количество найденных соседей
Исключения
asserts в режиме отладки, если индекс не находится в диапазоне от 0 до максимального количества точек

Реализует метод pcl::KdTree< PointT >.

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

Используется в pcl::gpu::DataSource::findKNNeghbors(), pcl::StatisticalMultiscaleInterestRegionExtraction< PointT >::generateCloudGraph(), pcl::getApproximateIndices() и pcl::ConcaveHull< PointInT >::performReconstruction().

operator=()

template<typename PointT , typename Dist = ::flann::L2_Simple<float>>
KdTreeFLANN<PointT, Dist>& pcl::KdTreeFLANN< PointT, Dist >::operator= ( const KdTreeFLANN< PointT, Dist > & k )
inline

Оператор копирования.

Параметры
[in] k дерево, которое копируется в этот объект

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

radiusSearch()

template<typename PointT , typename Dist >
int pcl::KdTreeFLANN< PointT, Dist >::radiusSearch ( const PointT & point,
double radius,
Indices & k_indices,
std::vector< float > & k_sqr_distances,
unsigned int max_nn = 0
) const
overridevirtual

Поиск всех ближайших соседей точки запроса в заданном радиусе.

Внимание
Этот метод не проверяет входной индекс на выход за границы (т. е. index >= cloud.size () || index < 0) и предполагает, что данные корректны (т. е. конечны).
Параметры
[in] point заданная корректная (т. е. конечная) точка запроса
[in] radius радиус сферы, ограничивающей всех соседей p_q
[out] k_indices полученные индексы соседних точек
[out] k_sqr_distances полученные квадраты расстояний до соседних точек
[in] max_nn если задано, ограничивает максимальное число возвращаемых соседей этим значением. Если max_nn равно 0 или превышает количество точек во входном облаке, возвращаются все соседи в пределах radius.
Возвращает
количество соседей, найденных в заданном радиусе
Исключения
asserts в режиме отладки, если индекс не находится в диапазоне от 0 до максимального количества точек

Реализует метод pcl::KdTree< PointT >.

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

Ссылается на pcl::radius_search().

Используется в pcl::gpu::DataSource::findRadiusNeghbors() и pcl::TextureMapping< PointInT >::textureMeshwithMultipleCameras().

setEpsilon()

template<typename PointT , typename Dist >
void pcl::KdTreeFLANN< PointT, Dist >::setEpsilon ( float eps )
overridevirtual

Задать точность поиска epsilon (границу погрешности) для поиска ближайших соседей.

Параметры
[in] eps точность (граница погрешности) поиска ближайших соседей

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

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

setInputCloud()

template<typename PointT , typename Dist >
void pcl::KdTreeFLANN< PointT, Dist >::setInputCloud ( const PointCloudConstPtr & cloud,
const IndicesConstPtr & indices = IndicesConstPtr()
)
overridevirtual

Передать указатель на входной набор данных.

Параметры
[in] cloud константный совместно используемый указатель boost на сообщение PointCloud
[in] indices подмножество индексов точек из cloud, которое будет использоваться; если значение NULL, используется всё облако

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

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

Используется в pcl::gpu::DataSource::findKNNeghbors(), pcl::gpu::DataSource::findRadiusNeghbors(), pcl::StatisticalMultiscaleInterestRegionExtraction< PointT >::generateCloudGraph(), pcl::getApproximateIndices(), pcl::ConcaveHull< PointInT >::performReconstruction() и pcl::TextureMapping< PointInT >::textureMeshwithMultipleCameras().

setSortedResults()

template<typename PointT , typename Dist >
void pcl::KdTreeFLANN< PointT, Dist >::setSortedResults ( bool sorted )

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


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

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

Spec-Zone.ru

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