Алгоритм реконструкции поверхности Марчинга Кубов, использующий функцию расстояния со знаком, основанную на радиальных базисных функциях. Подробнее...
#include <pcl/surface/marching_cubes_rbf.h>
Общедоступные типы | |
| using | Ptr = shared_ptr< MarchingCubesRBF< PointNT > > |
| using | ConstPtr = shared_ptr< const MarchingCubesRBF< PointNT > > |
| using | PointCloudPtr = typename pcl::PointCloud< PointNT >::Ptr |
| using | KdTree = pcl::KdTree< PointNT > |
| using | KdTreePtr = typename KdTree::Ptr |
|
| |
| using | Ptr = shared_ptr< MarchingCubes< PointNT > > |
| using | ConstPtr = shared_ptr< const MarchingCubes< PointNT > > |
| using | PointCloudPtr = typename pcl::PointCloud< PointNT >::Ptr |
| using | KdTree = pcl::KdTree< PointNT > |
| using | KdTreePtr = typename KdTree::Ptr |
|
| |
| using | Ptr = shared_ptr< SurfaceReconstruction< PointNT > > |
| using | ConstPtr = shared_ptr< const SurfaceReconstruction< PointNT > > |
|
| |
| using | Ptr = shared_ptr< PCLSurfaceBase< PointInT > > |
| using | ConstPtr = shared_ptr< const PCLSurfaceBase< PointInT > > |
| using | KdTree = pcl::search::Search< PointInT > |
| using | KdTreePtr = typename KdTree::Ptr |
|
| |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Общедоступные члены-функции | |
| MarchingCubesRBF (const float off_surface_epsilon=0.1f, const float percentage_extend_grid=0.0f, const float iso_level=0.0f) | |
| Конструктор. Подробнее... |
|
| ~MarchingCubesRBF () override | |
| Деструктор. Подробнее... |
|
| void | voxelizeData () override |
| Преобразовать облако точек в данные voxels. Подробнее... |
|
| void | setOffSurfaceDisplacement (float epsilon) |
| Установить значение смещения точек вне поверхности. Подробнее... |
|
| float | getOffSurfaceDisplacement () |
| Получить значение смещения точек вне поверхности. Подробнее... |
|
|
| |
| MarchingCubes (const float percentage_extend_grid=0.0f, const float iso_level=0.0f) | |
| Конструктор. Подробнее... |
|
| ~MarchingCubes () override | |
| Деструктор. Подробнее... |
|
| void | setIsoLevel (float iso_level) |
| Метод, устанавливающий уровень изолинии для поверхности, подлежащей извлечению. Подробнее... |
|
| float | getIsoLevel () |
| Метод, возвращающий уровень изолинии для поверхности, подлежащей извлечению. Подробнее... |
|
| void | setGridResolution (int res_x, int res_y, int res_z) |
| Метод, устанавливающий разрешение сетки marching cubes. Подробнее... |
|
| void | getGridResolution (int &res_x, int &res_y, int &res_z) |
| Метод для получения разрешения сетки marching cubes. Подробнее... |
|
| void | setPercentageExtendGrid (float percentage) |
| Метод, устанавливающий параметр, определяющий, сколько свободного пространства должно оставаться внутри сетки между ограничивающим прямоугольником облака точек и границами сетки. Подробнее... |
|
| float | getPercentageExtendGrid () |
| Метод, получающий параметр, определяющий, сколько свободного пространства должно оставаться внутри сетки между ограничивающим прямоугольником облака точек и границами сетки, в процентах от ограничивающего прямоугольника. Подробнее... |
|
|
| |
| SurfaceReconstruction () | |
| Конструктор. Подробнее... |
|
| ~SurfaceReconstruction () override=default | |
| Деструктор. Подробнее... |
|
| void | reconstruct (pcl::PolygonMesh &output) override |
| Базовый метод для реконструкции поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
| virtual void | reconstruct (pcl::PointCloud< PointNT > &points, std::vector< pcl::Vertices > &polygons) |
| Базовый метод для реконструкции поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
|
| |
| PCLSurfaceBase () | |
| Пустой конструктор. Подробнее... |
|
| ~PCLSurfaceBase () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | setSearchMethod (const KdTreePtr &tree) |
| Предоставьте необязательный указатель на объект поиска. Подробнее... |
|
| KdTreePtr | getSearchMethod () |
| Получить указатель на метод поиска, используемый. Подробнее... |
|
|
| |
| 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[] для сокращения кода. Подробнее... |
|
Защищенные члены функций | |
| double | kernel (Eigen::Vector3d c, Eigen::Vector3d x) |
| Ядро радиальной базисной функции. Подробнее... |
|
|
| |
| void | interpolateEdge (Eigen::Vector3f &p1, Eigen::Vector3f &p2, float val_p1, float val_p2, Eigen::Vector3f &output) |
| Интерполяция по ребру вокселя. Подробнее... |
|
| void | createSurface (const std::vector< float > &leaf_node, const Eigen::Vector3i &index_3d, pcl::PointCloud< PointNT > &cloud) |
| Вычисление соответствующих полигонов в узле листа. Подробнее... |
|
| void | getBoundingBox () |
| Получение ограничивающего прямоугольника для входных точек данных. Подробнее... |
|
| virtual float | getGridValue (Eigen::Vector3i pos) |
| Метод, возвращающий скалярное значение в заданной позиции сетки. Подробнее... |
|
| void | getNeighborList1D (std::vector< float > &leaf, Eigen::Vector3i &index3d) |
| Метод, возвращающий скалярные значения соседей заданной 3D позиции в сетке. Подробнее... |
|
| std::string | getClassName () const override |
| Метод получения имени класса. Подробнее... |
|
| void | performReconstruction (pcl::PolygonMesh &output) override |
| Выделение поверхности. Подробнее... |
|
| void | performReconstruction (pcl::PointCloud< PointNT > &points, std::vector< pcl::Vertices > &polygons) override |
| Выделение поверхности. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод должен быть вызван перед началом фактического вычисления. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод должен быть вызван после завершения фактического вычисления. Подробнее... |
|
Защищенные атрибуты | |
| float | off_surface_epsilon_ |
| Значение смещения вне поверхности. Подробнее... |
|
|
| |
| std::vector< float > | grid_ |
| Структура данных, хранящая 3D сетку. Подробнее... |
|
| int | res_x_ = 32 |
| Разрешение сетки. Подробнее... |
|
| int | res_y_ = 32 |
| int | res_z_ = 32 |
| Eigen::Array3f | upper_boundary_ |
| границы ограничивающего прямоугольника Подробнее... |
|
| Eigen::Array3f | lower_boundary_ |
| Eigen::Array3f | size_voxel_ |
| размер вокселей Подробнее... |
|
| float | percentage_extend_grid_ |
| Параметр, определяющий, сколько свободного места должно быть внутри сетки между ограничивающим прямоугольником облака точек и границами сетки, как процент от ограничивающего прямоугольника. Подробнее... |
|
| float | iso_level_ |
| Уровень изоляции для извлечения. Подробнее... |
|
|
| |
| bool | check_tree_ |
| Флаг, указывающий, нужна ли объекту реконструкции алгоритм поиска tree. Подробнее... |
|
|
| |
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входное облако точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| bool | use_indices_ |
| Установлено в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, мы создаём набор фальшивых индексов, имитирующих входной PointCloud. Подробнее... |
|
Подробное описание
template<typename PointNT>
class pcl::MarchingCubesRBF< PointNT >
Алгоритм реконструкции поверхности методом марширующих кубов, использующий функцию расстояния, основанную на радиальных базисных функциях.
Частично основан на: Carr J.C., Beatson R.K., Cherrie J.B., Mitchell T.J., Fright W.R., McCallum B.C. and Evans T.R., "Reconstruction and representation of 3D objects with radial basis functions" SIGGRAPH '01
- Примечание
- Этот алгоритм в его текущей реализации может быть непригоден для очень больших облаков точек из-за высоких требований к памяти.
Определение в строке 56 файла marching_cubes_rbf.h.
Документация псевдонимов типов
ConstPtr
| using pcl::MarchingCubesRBF< PointNT >::ConstPtr = shared_ptr<const MarchingCubesRBF<PointNT> > |
Определение в строке 60 файла marching_cubes_rbf.h.
KdTree
| using pcl::MarchingCubesRBF< PointNT >::KdTree = pcl::KdTree<PointNT> |
Определение в строке 74 файла marching_cubes_rbf.h.
KdTreePtr
| using pcl::MarchingCubesRBF< PointNT >::KdTreePtr = typename KdTree::Ptr |
Определение в строке 75 файла marching_cubes_rbf.h.
PointCloudPtr
| using pcl::MarchingCubesRBF< PointNT >::PointCloudPtr = typename pcl::PointCloud<PointNT>::Ptr |
Определение в строке 72 файла marching_cubes_rbf.h.
Ptr
| using pcl::MarchingCubesRBF< PointNT >::Ptr = shared_ptr<MarchingCubesRBF<PointNT> > |
Определение в строке 59 файла marching_cubes_rbf.h.
Конструкторы и деструкторы
MarchingCubesRBF()
| inline |
Конструктор.
Определение в строке 79 файла marching_cubes_rbf.h.
~MarchingCubesRBF()
| overridedefault |
Деструктор.
Документация функций-членов
getOffSurfaceDisplacement()
| inline |
Получить значение смещения точек вне поверхности.
Определение в строке 105 файла marching_cubes_rbf.h.
Ссылки на pcl::MarchingCubesRBF< PointNT >::off_surface_epsilon_.
kernel()
| protected |
ядро радиальной базисной функции.
Определение в строке 108 файла marching_cubes_rbf.hpp.
setOffSurfaceDisplacement()
| inline |
Установите значение смещения точек вне поверхности.
- Параметры
-
[in] epsilon значение
Определение в строке 100 файла marching_cubes_rbf.h.
Ссылки на pcl::MarchingCubesRBF< PointNT >::off_surface_epsilon_.
voxelizeData()
| overridevirtual |
Преобразуйте облако точек в данные вокселей.
Реализует pcl::MarchingCubes< PointNT >.
Определение в строке 50 файла marching_cubes_rbf.hpp.
Документация по данным членам
off_surface_epsilon_
| protected |
Значение смещения точек вне поверхности.
Определение в строке 115 файла marching_cubes_rbf.h.
Используется в pcl::MarchingCubesRBF< PointNT >::getOffSurfaceDisplacement() и pcl::MarchingCubesRBF< PointNT >::setOffSurfaceDisplacement().
Документация по данному классу была сгенерирована из следующих файлов:
- pcl/surface/marching_cubes_rbf.h
- pcl/surface/impl/marching_cubes_rbf.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_marching_cubes_r_b_f.html