KdTreeFLANN — универсальный тип 3D-пространственного локатора, использующего структуры kD-дерева. Подробнее...
#include <pcl/kdtree/kdtree_flann.h>
Общедоступные типы | |
| 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 > > |
|
| |
| 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 > > |
Общедоступные функции-члены | |
| 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 | tr>
| Найти всех ближайших соседей точки запроса в заданном радиусе. Подробнее... |
|
|
| |
| 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 | tr>
| Найти 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 |
| Узнать, следует ли сортировать результаты (по возрастанию расстояния). В противном случае порядок результатов может быть произвольным. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| 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), созданный Мариусом Мухой и Дэвидом Лоу.
Определение в строке 132 файла kdtree_flann.h.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::KdTreeFLANN< PointT, Dist >::ConstPtr = shared_ptr<const KdTreeFLANN<PointT, Dist> > |
Определение в строке 152 файла kdtree_flann.h.
FLANNIndex
| using pcl::KdTreeFLANN< PointT, Dist >::FLANNIndex = ::flann::Index<Dist> |
Определение в строке 148 файла kdtree_flann.h.
IndicesConstPtr
| using pcl::KdTreeFLANN< PointT, Dist >::IndicesConstPtr = shared_ptr<const Indices> |
Определение в строке 146 файла kdtree_flann.h.
IndicesPtr
| using pcl::KdTreeFLANN< PointT, Dist >::IndicesPtr = shared_ptr<Indices> |
Определение в строке 145 файла kdtree_flann.h.
PointCloud
| using pcl::KdTreeFLANN< PointT, Dist >::PointCloud = typename KdTree<PointT>::PointCloud |
Определение в строке 142 файла kdtree_flann.h.
PointCloudConstPtr
| using pcl::KdTreeFLANN< PointT, Dist >::PointCloudConstPtr = typename KdTree<PointT>::PointCloudConstPtr |
Определение в строке 143 файла kdtree_flann.h.
Ptr
| using pcl::KdTreeFLANN< PointT, Dist >::Ptr = shared_ptr<KdTreeFLANN<PointT, Dist> > |
Определение в строке 151 файла kdtree_flann.h.
Документация конструкторов и деструктора
KdTreeFLANN() [1/2]
| pcl::KdTreeFLANN< PointT, Dist >::KdTreeFLANN | ( | bool |
sorted = true
|
) |
Конструктор по умолчанию для KdTreeFLANN.
- Параметры
-
[in] sorted установите значение true, если приложению, в котором будет использоваться дерево, требуются отсортированные индексы ближайших соседей (по умолчанию). В противном случае — False.
Если установить sorted в false, операции radiusSearch будут выполняться быстрее.
Определение в строке 49 файла kdtree_flann.hpp.
KdTreeFLANN() [2/2]
| pcl::KdTreeFLANN< PointT, Dist >::KdTreeFLANN | ( | const KdTreeFLANN< PointT, Dist > & | k | ) |
Конструктор копирования.
- Параметры
-
[in] k дерево, которое копируется в этот объект
Определение в строке 70 файла kdtree_flann.hpp.
~KdTreeFLANN()
| inlineoverride |
Деструктор для KdTreeFLANN.
Удаляет все выделенные массивы данных и уничтожает структуры kd-дерева.
Определение в строке 203 файла kdtree_flann.h.
Документация методов класса
makeShared()
| inline |
Определение в строке 195 файла kdtree_flann.h.
nearestKSearch()
| 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=()
| inline |
Оператор копирования.
- Параметры
-
[in] k дерево, которое копируется в этот объект
Определение в строке 171 файла kdtree_flann.h.
radiusSearch()
| 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()
| overridevirtual |
Задать точность поиска epsilon (границу погрешности) для поиска ближайших соседей.
- Параметры
-
[in] eps точность (граница погрешности) поиска ближайших соседей
Переопределяет метод pcl::KdTree< PointT >.
Определение в строке 82 файла kdtree_flann.hpp.
setInputCloud()
| 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()
| 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