Spec-Zone.ru › PointCloudLibrary

Алгоритм восстановления поверхности marching cubes с использованием функции знакового расстояния на основе радиальных базисных функций. Подробнее...

#include <pcl/surface/marching_cubes_rbf.h>

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

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

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
- Общедоступные типы, наследуемые от pcl::MarchingCubes< PointNT >
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
- Общедоступные типы, наследуемые от pcl::SurfaceReconstruction< PointNT >
using Ptr = shared_ptr< SurfaceReconstruction< PointNT > >
using ConstPtr = shared_ptr< const SurfaceReconstruction< PointNT > >
- Общедоступные типы, наследуемые от pcl::PCLSurfaceBase< PointInT >
using Ptr = shared_ptr< PCLSurfaceBase< PointInT > >
using ConstPtr = shared_ptr< const PCLSurfaceBase< PointInT > >
using KdTree = pcl::search::Search< PointInT >
using KdTreePtr = typename KdTree::Ptr
- Общедоступные типы, наследуемые от 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

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

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
Преобразовать облако точек в воксельные данные. Подробнее...
void setOffSurfaceDisplacement (float epsilon)
Задать величину смещения точек, расположенных вне поверхности. Подробнее...
float getOffSurfaceDisplacement ()
Получить величину смещения точек, расположенных вне поверхности. Подробнее...
- Открытые функции-члены, унаследованные от pcl::MarchingCubes< PointNT >
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 ()
Метод, возвращающий параметр, определяющий, сколько свободного пространства следует оставить внутри сетки между ограничивающим параллелепипедом облака точек и границами сетки, в процентах от ограничивающего параллелепипеда. Подробнее...
- Открытые функции-члены, унаследованные от pcl::SurfaceReconstruction< PointNT >
SurfaceReconstruction ()=default
Конструктор. Подробнее...
~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 ()> Подробнее...
- Открытые функции-члены, унаследованные от pcl::PCLSurfaceBase< PointInT >
PCLSurfaceBase ()
Конструктор без параметров. Подробнее...
~PCLSurfaceBase () override=default
Пустой деструктор. Подробнее...
void setSearchMethod (const KdTreePtr &tree)
Передать необязательный указатель на объект поиска. Подробнее...
KdTreePtr getSearchMethod ()
Получить указатель на используемый метод поиска. Подробнее...
- Открытые функции-члены, унаследованные от 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
Переопределить operator[] класса PointCloud для сокращения кода. Подробнее...

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

double kernel (Eigen::Vector3d c, Eigen::Vector3d x)
ядро радиальной базисной функции. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::MarchingCubes< PointNT >
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
Извлекает поверхность. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::PCLBase< PointInT >
bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...

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

float off_surface_epsilon_
Величина смещения точек от поверхности. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::MarchingCubes< PointNT >
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_
Извлекаемый изоуровень. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::SurfaceReconstruction< PointNT >
bool check_tree_
Флаг, указывающий, требуется ли алгоритму реконструкции производного класса объект поиска tree. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLSurfaceBase< PointInT >
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointInT >
PointCloudConstPtr input_
Входной набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор используемых индексов точек. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку точек. Подробнее...

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

template<typename PointNT>
class pcl::MarchingCubesRBF< PointNT >

Алгоритм реконструкции поверхности методом marching cubes с использованием функции знакового расстояния на основе радиальных базисных функций.

Частично основан на работе: Carr J.C., Beatson R.K., Cherrie J.B., Mitchell T.J., Fright W.R., McCallum B.C. и Evans T.R., «Reconstruction and representation of 3D objects with radial basis functions», SIGGRAPH '01

Примечание
В текущей реализации этот алгоритм может быть непригоден для очень больших облаков точек из-за высоких требований к памяти.
Параметры шаблона
PointNT Используйте pcl::PointNormal или pcl::PointXYZRGBNormal или pcl::PointXYZINormal
Автор
Alexandru E. Ichim

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

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

ConstPtr

template<typename PointNT >
using pcl::MarchingCubesRBF< PointNT >::ConstPtr = shared_ptr<const MarchingCubesRBF<PointNT> >

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

KdTree

template<typename PointNT >
using pcl::MarchingCubesRBF< PointNT >::KdTree = pcl::KdTree<PointNT>

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

KdTreePtr

template<typename PointNT >
using pcl::MarchingCubesRBF< PointNT >::KdTreePtr = typename KdTree::Ptr

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

PointCloudPtr

template<typename PointNT >
using pcl::MarchingCubesRBF< PointNT >::PointCloudPtr = typename pcl::PointCloud<PointNT>::Ptr

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

Ptr

template<typename PointNT >
using pcl::MarchingCubesRBF< PointNT >::Ptr = shared_ptr<MarchingCubesRBF<PointNT> >

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

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

MarchingCubesRBF()

template<typename PointNT >
pcl::MarchingCubesRBF< PointNT >::MarchingCubesRBF ( const float off_surface_epsilon = 0.1f,
const float percentage_extend_grid = 0.0f,
const float iso_level = 0.0f
)
inline

Конструктор.

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

~MarchingCubesRBF()

template<typename PointNT >
pcl::MarchingCubesRBF< PointNT >::~MarchingCubesRBF ( )
overridedefault

Деструктор.

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

getOffSurfaceDisplacement()

template<typename PointNT >
float pcl::MarchingCubesRBF< PointNT >::getOffSurfaceDisplacement ( )
inline

Получает величину смещения точек, расположенных вне поверхности.

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

Ссылки: pcl::MarchingCubesRBF< PointNT >::off_surface_epsilon_.

kernel()

template<typename PointNT >
double pcl::MarchingCubesRBF< PointNT >::kernel ( Eigen::Vector3d c,
Eigen::Vector3d x
)
protected

Ядро радиальной базисной функции.

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

setOffSurfaceDisplacement()

template<typename PointNT >
void pcl::MarchingCubesRBF< PointNT >::setOffSurfaceDisplacement ( float epsilon )
inline

Задать значение смещения точек вне поверхности.

Параметры
[in] epsilon значение

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

Ссылки pcl::MarchingCubesRBF< PointNT >::off_surface_epsilon_.

voxelizeData()

template<typename PointNT >
void pcl::MarchingCubesRBF< PointNT >::voxelizeData
overridevirtual

Преобразовать облако точек в воксельные данные.

Реализует pcl::MarchingCubes< PointNT >.

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

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

off_surface_epsilon_

template<typename PointNT >
float pcl::MarchingCubesRBF< PointNT >::off_surface_epsilon_
protected

Значение смещения точек вне поверхности.

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

Spec-Zone.ru

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