Spec-Zone.ru › PointCloudLibrary

MovingLeastSquares реализует алгоритм MLS (Moving Least Squares) для сглаживания данных и улучшенной оценки нормалей. Подробнее...

#include <pcl/surface/mls.h>

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

Вложенные классы

class MLSVoxelGrid
Минималистическая реализация кубической сетки, необходимой для повышения разрешения облака точек. Подробнее...

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

перечисление UpsamplingMethod {
NONE , DISTINCT_CLOUD , SAMPLE_LOCAL_PLANE , RANDOM_UNIFORM_DENSITY ,
VOXEL_GRID_DILATION
}
используя Ptr = shared_ptr< MovingLeastSquares< PointInT, PointOutT > >
используя ConstPtr = shared_ptr< const MovingLeastSquares< PointInT, PointOutT > >
используя KdTree = pcl::search::Search< PointInT >
используя KdTreePtr = typename KdTree::Ptr
используя NormalCloud = pcl::PointCloud< pcl::Normal >
используя NormalCloudPtr = NormalCloud::Ptr
используя PointCloudOut = pcl::PointCloud< PointOutT >
используя PointCloudOutPtr = typename PointCloudOut::Ptr
используя PointCloudOutConstPtr = typename PointCloudOut::ConstPtr
используя PointCloudIn = pcl::PointCloud< PointInT >
используя PointCloudInPtr = typename PointCloudIn::Ptr
используя PointCloudInConstPtr = typename PointCloudIn::ConstPtr
используя SearchMethod = std::function< int(pcl::index_t, double, pcl::Indices &, std::vector< float > &)>
- Общедоступные типы, унаследованные от pcl::CloudSurfaceProcessing< PointInT, PointOutT >
используя Ptr = shared_ptr< CloudSurfaceProcessing< PointInT, PointOutT > >
используя ConstPtr = shared_ptr< const CloudSurfaceProcessing< PointInT, PointOutT > >
- Общедоступные типы, унаследованные от pcl::PCLBase< PointInT >
используя PointCloud = pcl::PointCloud< PointInT >
используя PointCloudPtr = typename PointCloud::Ptr
используя PointCloudConstPtr = typename PointCloud::ConstPtr
используя PointIndicesPtr = PointIndices::Ptr
используя PointIndicesConstPtr = PointIndices::ConstPtr

Публичные функции-члены

MovingLeastSquares ()
Пустой конструктор. Подробнее...
~MovingLeastSquares () override=default
Пустой деструктор. Подробнее...
void setComputeNormals (bool compute_normals)
Установить, должен ли алгоритм также хранить вычисленные нормали. Подробнее...
void setSearchMethod (const KdTreePtr &tree)
Указать указатель на объект поиска. Подробнее...
KdTreePtr getSearchMethod () const
Получить указатель на используемый метод поиска. Подробнее...
void setPolynomialOrder (int order)
Установить порядок аппроксимируемого полинома. Подробнее...
int getPolynomialOrder () const
Получить порядок аппроксимируемого полинома. Подробнее...
void setSearchRadius (double radius)
Установить радиус сферы, который будет использоваться для определения k-ближайших соседей, используемых для подгонки. Подробнее...
double getSearchRadius () const
Получить радиус сферы, используемый для определения k-ближайших соседей. Подробнее...
void setSqrGaussParam (double sqr_gauss_param)
Установить параметр, используемый для взвешивания соседей на основе расстояния (квадрат радиуса поиска обычно работает лучше всего). Подробнее...
double getSqrGaussParam () const
Получить параметр для взвешивания соседей на основе расстояния. Подробнее...
void setUpsamplingMethod (UpsamplingMethod method)
Установить метод апсемплинга, который будет использоваться. Подробнее...
void setDistinctCloud (PointCloudInConstPtr distinct_cloud)
Установить отдельное облако, используемое для метода апсемплинга DISTINCT_CLOUD. Подробнее...
PointCloudInConstPtr getDistinctCloud () const
Получить отдельное облако, используемое для метода апсемплинга DISTINCT_CLOUD. Подробнее...
void setUpsamplingRadius (double radius)
Установить радиус круга в локальной плоскости точки, которая будет сэмплироваться. Подробнее...
double getUpsamplingRadius () const
Получить радиус круга в локальной плоскости точки, которая будет сэмплироваться. Подробнее...
void setUpsamplingStepSize (double step_size)
Установить шаг сэмплирования локальной плоскости. Подробнее...
double getUpsamplingStepSize () const
Получить шаг сэмплирования локальной плоскости. Подробнее...
void setPointDensity (int desired_num_points_in_radius)
Задать параметр, определяющий желаемое количество точек в радиусе поиска. Подробнее...
int getPointDensity () const
Получить параметр, определяющий желаемое количество точек в радиусе поиска. Подробнее...
void setDilationVoxelSize (float voxel_size)
Задать размер вокселя для сетки вокселей. Подробнее...
float getDilationVoxelSize () const
Получить размер вокселя для сетки вокселей. Подробнее...
void setDilationIterations (int iterations)
Задать количество шагов дилатации сетки вокселей. Подробнее...
int getDilationIterations () const
Получить количество шагов дилатации сетки вокселей. Подробнее...
void setCacheMLSResults (bool cache_mls_results)
Задать, следует ли сохранять результаты MLS для каждой точки во входнем облаке. Подробнее...
bool getCacheMLSResults () const
Получить значение cache_mls_results_ (True, если результаты MLS должны быть сохранены, иначе false). Подробнее...
void setProjectionMethod (MLSResult::ProjectionMethod method)
Задать метод, который будет использоваться при проецировании точки на поверхность MLS. Подробнее...
MLSResult::ProjectionMethod getProjectionMethod () const
Получить текущий используемый метод проекции. Подробнее...
const std::vector< MLSResult > & getMLSResults () const
Получить MLSResults для входного облака. Подробнее...
void setNumberOfThreads (unsigned int threads=1)
Задать максимальное количество потоков для использования. Подробнее...
void process (PointCloudOut &output) override
Базовый метод реконструкции поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее...
PointIndicesPtr getCorrespondingIndices () const
Получить набор индексов, при этом каждая точка на выходе имеет соответствующую точку на входе. Подробнее...
- Публичные функции-члены, унаследованные от pcl::CloudSurfaceProcessing< PointInT, PointOutT >
CloudSurfaceProcessing ()
Конструктор. Подробнее...
~CloudSurfaceProcessing () override=default
Пустой деструктор. Подробнее...
- Публичные функции-члены, унаследованные от 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[] для сокращения кода. Подробнее...

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

int searchForNeighbors (pcl::index_t index, pcl::Indices &indices, std::vector< float > &sqr_distances) const
Поиск ближайших соседей заданной точки с использованием радиального поиска. Подробнее...
void computeMLSPointNormal (pcl::index_t index, const pcl::Indices &nn_indices, PointCloudOut &projected_points, NormalCloud &projected_points_normals, PointIndices &corresponding_input_indices, MLSResult &mls_result) const
Сглаживание заданной точки и её окрестностей с использованием метода «Перемещающихся наименьших квадратов». Подробнее...
void addProjectedPointNormal (pcl::index_t index, const Eigen::Vector3d &point, const Eigen::Vector3d &normal, double curvature, PointCloudOut &projected_points, NormalCloud &projected_points_normals, PointIndices &corresponding_input_indices) const
Вспомогательная функция для добавления спроектированных точек. Подробнее...
void copyMissingFields (const PointInT &point_in, PointOutT &point_out) const
void performProcessing (PointCloudOut &output) override
Абстрактный метод реконструкции поверхности. Подробнее...
void performUpsampling (PointCloudOut &output)
Выполнение апсемплинга для методов «раздельного облака» и «воксeльного сетки». Подробнее...
- Защищенные члены-функции, унаследованные от pcl::PCLBase< PointInT >
bool initCompute ()
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
bool deinitCompute ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...

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

NormalCloudPtr normals_
Облако точек, которое будет хранить вычисленные нормали, если задано. Подробнее...
PointCloudInConstPtr distinct_cloud_
Отдельное облако точек, которое будет спроецировано на поверхность MLS. Подробнее...
SearchMethod search_method_
Шаблон метода поиска для индексов. Подробнее...
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
int order_
Порядок полинома для подгонки. Подробнее...
double search_radius_
Радиус поиска ближайших соседей для каждой точки. Подробнее...
double sqr_gauss_param_
Параметр для взвешивания соседей на основе расстояния (search_radius_ * search_radius_ работает хорошо) Подробнее...
bool compute_normals_
Параметр, указывающий, следует ли вычислять нормали для входного облака. Подробнее...
UpsamplingMethod upsample_method_
Параметр, определяющий метод повышения разрешения. Подробнее...
double upsampling_radius_
Радиус окружности в локальной плоскости точки, которая будет взята для выборки. Подробнее...
double upsampling_step_
Шаг для выборки локальной плоскости. Подробнее...
int desired_num_points_in_radius_
Параметр, определяющий желаемое количество точек в радиусе поиска. Подробнее...
bool cache_mls_results_
Истина, если результаты mls для входного облака должны быть сохранены. Подробнее...
std::vector< MLSResult > mls_results_
Хранит результат MLS для каждой точки в входном облаке. Подробнее...
MLSResult::ProjectionMethod projection_method_
Параметр, определяющий используемый метод проекции. Подробнее...
unsigned int threads_
Максимальное количество потоков, используемых планировщиком. Подробнее...
float voxel_size_
Размер вокселя для метода повышения разрешения VOXEL_GRID_DILATION. Подробнее...
int dilation_iteration_num_
Число шагов расширения для метода повышения разрешения VOXEL_GRID_DILATION. Подробнее...
int nr_coeff_
Число коэффициентов, вычисляемых по заданному порядку. Подробнее...
PointIndicesPtr corresponding_input_indices_
Содержит для каждой точки вывода соответствующую точку на входе. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::PCLBase< PointInT >
PointCloudConstPtr input_
Набор входных точек облака. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
bool use_indices_
Устанавливается в значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное облако точек. Подробнее...

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

шаблон<typename PointInT, typename PointOutT>
класс pcl::MovingLeastSquares< PointInT, PointOutT >

MovingLeastSquares представляет реализацию алгоритма MLS (Moving Least Squares) для сглаживания данных и улучшения оценки нормалей.

Также содержит методы для увеличения размера результирующего облака на основе параметрической аппроксимации. Ссылка на статью: "Computing and Rendering Point Set Surfaces" by Marc Alexa, Johannes Behr, Daniel Cohen-Or, Shachar Fleishman, David Levin and Claudio T. Silva www.sci.utah.edu/~shachar/Publications/crpss.pdf

Примечание
Существует параллельная версия этапа обработки, использующая стандарт OpenMP. По сравнению со стандартной версией, присутствует накладные расходы по времени выполнения и потреблению памяти. Методы увеличения размера облака DISTINCT_CLOUD и VOXEL_GRID_DILATION не полностью параллелизованы, т.е. некоторые части алгоритма выполняются только в одном потоке.
Автор
Zoltan Csaba Marton, Radu B. Rusu, Alexandru E. Ichim, Suat Gedikli, Robert Huitl

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

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

ConstPtr

шаблон<typename PointInT , typename PointOutT >
используется pcl::MovingLeastSquares< PointInT, PointOutT >::ConstPtr = shared_ptr<const MovingLeastSquares<PointInT, PointOutT> >

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

KdTree

шаблон<typename PointInT , typename PointOutT >
используется pcl::MovingLeastSquares< PointInT, PointOutT >::KdTree = pcl::search::Search<PointInT>

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

KdTreePtr

шаблон<typename PointInT , typename PointOutT >
используется pcl::MovingLeastSquares< PointInT, PointOutT >::KdTreePtr = typename KdTree::Ptr

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

NormalCloud

шаблон<typename PointInT , typename PointOutT >
используется pcl::MovingLeastSquares< PointInT, PointOutT >::NormalCloud = pcl::PointCloud<pcl::Normal>

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

NormalCloudPtr

шаблон<typename PointInT , typename PointOutT >
используется pcl::MovingLeastSquares< PointInT, PointOutT >::NormalCloudPtr = NormalCloud::Ptr

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

PointCloudIn

шаблон<typename PointInT , typename PointOutT >
используется pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudIn = pcl::PointCloud<PointInT>

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

PointCloudInConstPtr

template<typename PointInT , typename PointOutT >
using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr

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

PointCloudInPtr

template<typename PointInT , typename PointOutT >
using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudInPtr = typename PointCloudIn::Ptr

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

PointCloudOut

template<typename PointInT , typename PointOutT >
using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudOut = pcl::PointCloud<PointOutT>

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

PointCloudOutConstPtr

template<typename PointInT , typename PointOutT >
using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudOutConstPtr = typename PointCloudOut::ConstPtr

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

PointCloudOutPtr

template<typename PointInT , typename PointOutT >
using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudOutPtr = typename PointCloudOut::Ptr

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

Ptr

template<typename PointInT , typename PointOutT >
using pcl::MovingLeastSquares< PointInT, PointOutT >::Ptr = shared_ptr<MovingLeastSquares<PointInT, PointOutT> >

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

SearchMethod

template<typename PointInT , typename PointOutT >
using pcl::MovingLeastSquares< PointInT, PointOutT >::SearchMethod = std::function<int (pcl::index_t, double, pcl::Indices &, std::vector<float> &)>

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

Перечисление членов

UpsamplingMethod

template<typename PointInT , typename PointOutT >
enum pcl::MovingLeastSquares::UpsamplingMethod
Перечислитель
NONE

Обработка без увеличения, только входные точки проецируются на свои поверхности MLS.

DISTINCT_CLOUD

Проекция точек отдельного облака на поверхность MLS.

SAMPLE_LOCAL_PLANE

Локальная плоскость каждой входной точки будет выборочно взята по окружности, используя параметры upsampling_radius_ и upsampling_step_.

RANDOM_UNIFORM_DENSITY

Локальная плоскость каждой входной точки будет выборочно взята с равномерным распределением, чтобы плотность точек была постоянной по всему облаку — задаётся параметром desired_num_points_in_radius_.

VOXEL_GRID_DILATION

Входное облако будет помещено в объёмную сетку с ячейками размера voxel_size_; эта объёмная сетка будет расширена dilation_iteration_num_ раз, и полученные точки будут спроецированы на поверхность MLS ближайшей точки в исходном облаке; результат — облако точек с заполненными дырами и постоянной плотностью точек.

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

Конструктор и деструктор

MovingLeastSquares()

template<typename PointInT , typename PointOutT >
pcl::MovingLeastSquares< PointInT, PointOutT >::MovingLeastSquares ( )
inline

Пустой конструктор.

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

~MovingLeastSquares()

template<typename PointInT , typename PointOutT >
pcl::MovingLeastSquares< PointInT, PointOutT >::~MovingLeastSquares ( )
overridedefault

Пустой деструктор.

Документация функций-членов

addProjectedPointNormal()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::addProjectedPointNormal ( pcl::index_t index,
const Eigen::Vector3d & point,
const Eigen::Vector3d & normal,
double curvature,
PointCloudOut & projected_points,
NormalCloud & projected_points_normals,
PointIndices & corresponding_input_indices
) const
protected

Эта вспомогательная функция добавляет спроецированные точки.

Параметры
[in] index индекс точки запроса в облаке входных данных
[in] point спроецированная точка для добавления
[in] normal нормаль к спроецированной точке для добавления
[in] curvature кривизна спроецированной точки
[out] projected_points набор спроецированных точек вокруг точки запроса
[out] projected_points_normals нормали, соответствующие спроецированным точкам
[out] corresponding_input_indices множество индексов, где каждой точке на выходе соответствует соответствующая точка на входе

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

Ссылки на pcl::_Normal::curvature, pcl::PointIndices::indices и pcl::PointCloud< PointT >::push_back().

computeMLSPointNormal()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal ( pcl::index_t index,
const pcl::Indices & nn_indices,
PointCloudOut & projected_points,
NormalCloud & projected_points_normals,
PointIndices & corresponding_input_indices,
MLSResult & mls_result
) const
protected

Сглаживание заданной точки и ее окрестностей с помощью метода «Перемещающийся наименьших квадратов».

Параметры
[in] index индекс точки запроса в облаке входных данных
[in] nn_indices набор индексов ближайших соседей для точки
[out] projected_points набор спроецированных точек вокруг точки запроса (в случае метода апсемплинга NONE, будет возвращена только спроецированная на собственную поверхность точка запроса, в случае других методов апсемплинга, будут возвращены несколько точек)
[out] projected_points_normals нормали, соответствующие спроецированным точкам
[out] corresponding_input_indices набор индексов, где каждой точке на выходе соответствует соответствующая точка на входе
[out] mls_result хранит результат MLS для каждой точки в облаке входных данных (используется только в случае апсемплинга VOXEL_GRID_DILATION или DISTINCT_CLOUD)

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

Ссылки на pcl::MLSResult::computeMLSSurface(), pcl::MLSResult::curvature, pcl::MLSResult::MLSProjectionResults::normal, pcl::MLSResult::num_neighbors, pcl::MLSResult::MLSProjectionResults::point, pcl::MLSResult::projectPointSimpleToPolynomialSurface(), pcl::MLSResult::projectPointToMLSPlane() и pcl::MLSResult::projectQueryPoint().

copyMissingFields()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::copyMissingFields ( const PointInT & point_in,
PointOutT & point_out
) const
protected

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

Ссылки на pcl::copyPoint().

getCacheMLSResults()

template<typename PointInT , typename PointOutT >
bool pcl::MovingLeastSquares< PointInT, PointOutT >::getCacheMLSResults ( ) const
inline

Получение значения cache_mls_results_ (Истина, если результаты mls должны храниться, иначе ложь).

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::cache_mls_results_.

getCorrespondingIndices()

template<typename PointInT , typename PointOutT >
PointIndicesPtr pcl::MovingLeastSquares< PointInT, PointOutT >::getCorrespondingIndices ( ) const
inline

Получить набор индексов, где каждому точке на выходе соответствует точка на входе.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::corresponding_input_indices_.

getDilationIterations()

template<typename PointInT , typename PointOutT >
int pcl::MovingLeastSquares< PointInT, PointOutT >::getDilationIterations ( ) const
inline

Получить количество шагов дилатации воксельного грида.

Примечание
Используется только в методе апсемплинга VOXEL_GRID_DILATION.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::dilation_iteration_num_.

getDilationVoxelSize()

template<typename PointInT , typename PointOutT >
float pcl::MovingLeastSquares< PointInT, PointOutT >::getDilationVoxelSize ( ) const
inline

Получить размер вокселя для воксельного грида.

Примечание
Используется только в методе апсемплинга VOXEL_GRID_DILATION.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::voxel_size_.

getDistinctCloud()

template<typename PointInT , typename PointOutT >
PointCloudInConstPtr pcl::MovingLeastSquares< PointInT, PointOutT >::getDistinctCloud ( ) const
inline

Получить облако точек, используемое для метода апсемплинга DISTINCT_CLOUD.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::distinct_cloud_.

getMLSResults()

template<typename PointInT , typename PointOutT >
const std::vector<MLSResult>& pcl::MovingLeastSquares< PointInT, PointOutT >::getMLSResults ( ) const
inline

Получить результаты MLS для облака входных точек.

Примечание
Результаты хранятся только если был вызван setCacheMLSResults(true), или при использовании методов апсемплинга DISTINCT_CLOUD или VOXEL_GRID_DILATION.
Этот вектор синхронизирован с индексами входного облака, поэтому используйте getCorrespondingIndices для получения корректных результатов, когда используются индексы выходного облака.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::mls_results_.

getPointDensity()

template<typename PointInT , typename PointOutT >
int pcl::MovingLeastSquares< PointInT, PointOutT >::getPointDensity ( ) const
inline

Получить параметр, определяющий желаемое количество точек в радиусе поиска.

Примечание
Используется только в случае апсемплинга RANDOM_UNIFORM_DENSITY.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::desired_num_points_in_radius_.

getPolynomialOrder()

template<typename PointInT , typename PointOutT >
int pcl::MovingLeastSquares< PointInT, PointOutT >::getPolynomialOrder ( ) const
inline

Получить порядок полинома, который будет подгоняться.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::order_.

getProjectionMethod()

template<typename PointInT , typename PointOutT >
MLSResult::ProjectionMethod pcl::MovingLeastSquares< PointInT, PointOutT >::getProjectionMethod ( ) const
inline

Получить текущий метод проекции.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::projection_method_.

getSearchMethod()

template<typename PointInT , typename PointOutT >
KdTreePtr pcl::MovingLeastSquares< PointInT, PointOutT >::getSearchMethod ( ) const
inline

Получить указатель на метод поиска.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::tree_.

getSearchRadius()

template<typename PointInT , typename PointOutT >
double pcl::MovingLeastSquares< PointInT, PointOutT >::getSearchRadius ( ) const
inline

Получить радиус сферы, используемой для определения k ближайших соседей.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_.

getSqrGaussParam()

template<typename PointInT , typename PointOutT >
double pcl::MovingLeastSquares< PointInT, PointOutT >::getSqrGaussParam ( ) const
inline

Получить параметр для взвешивания соседей на основе расстояния.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_.

getUpsamplingRadius()

template<typename PointInT , typename PointOutT >
double pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingRadius ( ) const
inline

Получить радиус окружности в локальной плоскости точки, которая будет взята для выборки.

Примечание
Используется только в случае апсемплинга SAMPLE_LOCAL_PLANE.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_radius_.

getUpsamplingStepSize()

template<typename PointInT , typename PointOutT >
double pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingStepSize ( ) const
inline

Получить шаг выборки для локальной плоскости.

Примечание
Используется только в случае апсемплинга SAMPLE_LOCAL_PLANE.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_step_.

performProcessing()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::performProcessing ( PointCloudOut & output )
overrideprotectedvirtual

Абстрактный метод реконструкции поверхности.

Параметры
[out] output результат реконструкции

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

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

Ссылки на pcl::PointCloud< PointT >::begin(), pcl::PointCloud< PointT >::end(), pcl::PointCloud< PointT >::insert(), и pcl::PointCloud< PointT >::size().

performUpsampling()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::performUpsampling ( PointCloudOut & output )
protected

Выполнить апсемплинг для методов distinct-cloud и voxel-grid.

Параметры
[out] output результат реконструкции

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::dilate(), pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::getPosition(), pcl::MLSResult::MLSProjectionResults::normal, pcl::MLSResult::MLSProjectionResults::point, и pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::voxel_grid_.

process()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::process ( PointCloudOut & output )
overridevirtual

Базовый метод для реконструкции поверхности для всех точек, заданных в <setInputCloud (), setIndices ()>

Parameters
[out] output результирующая реконструированная модель поверхности

Переопределено из pcl::CloudSurfaceProcessing< PointInT, PointOutT >.

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

Ссылки на pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.

searchForNeighbors()

template<typename PointInT , typename PointOutT >
int pcl::MovingLeastSquares< PointInT, PointOutT >::searchForNeighbors ( pcl::index_t index,
pcl::Indices & indices,
std::vector< float > & sqr_distances
) const
inlineprotected

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

Parameters
[in] index индекс точки запроса
[out] indices результирующий вектор индексов, представляющих соседей в пределах search_radius_
[out] sqr_distances результирующие квадратные расстояния от точки запроса до соседей в пределах search_radius_

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_method_ и pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_.

setCacheMLSResults()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setCacheMLSResults ( bool cache_mls_results )
inline

Установить, следует ли хранить результаты mls для каждой точки в облаке входных данных.

Parameters
[in] cache_mls_results True, если результаты mls должны быть сохранены, в противном случае false.
Note
cache_mls_results_ принудительно устанавливается в true при использовании метода аппроксимации VOXEL_GRID_DILATION или DISTINCT_CLOUD.
Если проблема в потреблении памяти, установите в false, когда не используется метод аппроксимации VOXEL_GRID_DILATION или DISTINCT_CLOUD.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::cache_mls_results_.

setComputeNormals()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setComputeNormals ( bool compute_normals )
inline

Установить, нужно ли алгоритму также хранить вычисленные нормали.

Note
Это необязательно, но требуется правильный тип выходного облака

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::compute_normals_.

setDilationIterations()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setDilationIterations ( int iterations )
inline

Установить количество шагов дилатации для воксельного облака.

Note
Используется только в методе аппроксимации VOXEL_GRID_DILATION
Parameters
[in] iterations количество итераций дилатации

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::dilation_iteration_num_.

setDilationVoxelSize()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setDilationVoxelSize ( float voxel_size )
inline

Установить размер вокселя для воксельного облака.

Note
Используется только в методе аппроксимации VOXEL_GRID_DILATION
Parameters
[in] voxel_size длина ребра кубического вокселя в воксельном облаке

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::voxel_size_.

setDistinctCloud()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setDistinctCloud ( PointCloudInConstPtr distinct_cloud )
inline

Установите облако точек, используемое для метода upsampling DISTINCT_CLOUD.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::distinct_cloud_.

setNumberOfThreads()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setNumberOfThreads ( unsigned int threads = 1 )
inline

Установите максимальное количество потоков для использования.

Параметры
threads максимальное количество аппаратных потоков для использования (0 устанавливает значение в 1)

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::threads_.

setPointDensity()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setPointDensity ( int desired_num_points_in_radius )
inline

Установите параметр, который определяет желаемое количество точек в радиусе поиска.

Примечание
Используется только в случае upsampling RANDOM_UNIFORM_DENSITY
Параметры
[in] desired_num_points_in_radius желаемое количество точек в выходном облаке в сфере радиусом search_radius_ вокруг каждой точки

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::desired_num_points_in_radius_.

setPolynomialOrder()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setPolynomialOrder ( int order )
inline

Установите порядок многочлена, который нужно подогнать.

Параметры
[in] order порядок многочлена
Примечание
Установка order > 1 указывает на использование полиномиальной аппроксимации.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::order_.

setProjectionMethod()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setProjectionMethod ( MLSResult::ProjectionMethod method )
inline

Установите метод, который будет использоваться при проекции точки на поверхность MLS.

Параметры
method
Примечание
Используется только при включенной полиномиальной аппроксимации.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::projection_method_.

setSearchMethod()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchMethod ( const KdTreePtr & tree )
inline

Укажите указатель на объект поиска.

Параметры
[in] tree указатель на объект пространственного поиска.

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_method_ и pcl::MovingLeastSquares< PointInT, PointOutT >::tree_.

setSearchRadius()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchRadius ( double radius )
inline

Установите радиус сферы, который используется для определения k-ближайших соседей, используемых для подгонки.

Параметры
[in] radius радиус сферы, содержащий все k-ближайшие соседи
Примечание
Вызов этого метода сбрасывает параметр гауссиана в квадрат радиуса!

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_ и pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_.

setSqrGaussParam()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setSqrGaussParam ( double sqr_gauss_param )
inline

Установите параметр, используемый для взвешивания соседей на основе расстояния (в общем случае лучше использовать квадрат радиуса поиска).

Параметры
[in] sqr_gauss_param квадратный параметр Гаусса

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_.

setUpsamplingMethod()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingMethod ( UpsamplingMethod method )
inline

Установите метод апсемплинга, который будет использоваться.

Параметры
method

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsample_method_.

setUpsamplingRadius()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingRadius ( double radius )
inline

Установите радиус окружности в локальной плоскости точек, которая будет обработана.

Примечание
Используется только в случае апсемплинга SAMPLE_LOCAL_PLANE
Параметры
[in] radius радиус окружности

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_radius_.

setUpsamplingStepSize()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingStepSize ( double step_size )
inline

Установите шаг для выборки локальной плоскости.

Примечание
Используется только в случае апсемплинга SAMPLE_LOCAL_PLANE
Параметры
[in] step_size размер шага

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

Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_step_.

Данные члена

cache_mls_results_

template<typename PointInT , typename PointOutT >
bool pcl::MovingLeastSquares< PointInT, PointOutT >::cache_mls_results_
protected

Истина, если результаты mls для входного облака должны быть сохранены.

Примечание
Это принудительно устанавливается в значение true при использовании методов апсемплинга VOXEL_GRID_DILATION или DISTINCT_CLOUD.

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

Используется pcl::MovingLeastSquares< PointInT, PointOutT >::getCacheMLSResults(), и pcl::MovingLeastSquares< PointInT, PointOutT >::setCacheMLSResults().

compute_normals_

template<typename PointInT , typename PointOutT >
bool pcl::MovingLeastSquares< PointInT, PointOutT >::compute_normals_
protected

Параметр, который указывает, нужно ли вычислять нормали для входного облака.

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

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

corresponding_input_indices_

template<typename PointInT , typename PointOutT >
PointIndicesPtr pcl::MovingLeastSquares< PointInT, PointOutT >::corresponding_input_indices_
protected

Собирает для каждой точки вывода соответствующую точку на входе.

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

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

desired_num_points_in_radius_

template<typename PointInT , typename PointOutT >
int pcl::MovingLeastSquares< PointInT, PointOutT >::desired_num_points_in_radius_
protected

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

Примечание
Используется только в случае апсемплинга RANDOM_UNIFORM_DENSITY

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

Используется pcl::MovingLeastSquares< PointInT, PointOutT >::getPointDensity(), и pcl::MovingLeastSquares< PointInT, PointOutT >::setPointDensity().

dilation_iteration_num_

template<typename PointInT , typename PointOutT >
int pcl::MovingLeastSquares< PointInT, PointOutT >::dilation_iteration_num_
protected

Количество итераций расширения для метода аппроксимации VOXEL_GRID_DILATION.

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getDilationIterations() и pcl::MovingLeastSquares< PointInT, PointOutT >::setDilationIterations().

distinct_cloud_

template<typename PointInT , typename PointOutT >
PointCloudInConstPtr pcl::MovingLeastSquares< PointInT, PointOutT >::distinct_cloud_
protected

Облако точек, которое будет спроецировано на поверхность MLS.

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getDistinctCloud() и pcl::MovingLeastSquares< PointInT, PointOutT >::setDistinctCloud().

mls_results_

template<typename PointInT , typename PointOutT >
std::vector<MLSResult> pcl::MovingLeastSquares< PointInT, PointOutT >::mls_results_
protected

Хранит результат MLS для каждой точки в облаке входных данных.

Примечание
Используется только в случае аппроксимации VOXEL_GRID_DILATION или DISTINCT_CLOUD.

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

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

normals_

template<typename PointInT , typename PointOutT >
NormalCloudPtr pcl::MovingLeastSquares< PointInT, PointOutT >::normals_
protected

Облако точек, которое будет содержать вычисленные нормали, если задано.

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

nr_coeff_

template<typename PointInT , typename PointOutT >
int pcl::MovingLeastSquares< PointInT, PointOutT >::nr_coeff_
protected

Количество коэффициентов, вычисляемых по заданному порядку.

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

order_

template<typename PointInT , typename PointOutT >
int pcl::MovingLeastSquares< PointInT, PointOutT >::order_
protected

Порядок полинома, который будет подгоняться.

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getPolynomialOrder() и pcl::MovingLeastSquares< PointInT, PointOutT >::setPolynomialOrder().

projection_method_

template<typename PointInT , typename PointOutT >
MLSResult::ProjectionMethod pcl::MovingLeastSquares< PointInT, PointOutT >::projection_method_
protected

Параметр, который определяет метод проекции.

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getProjectionMethod() и pcl::MovingLeastSquares< PointInT, PointOutT >::setProjectionMethod().

search_method_

template<typename PointInT , typename PointOutT >
SearchMethod pcl::MovingLeastSquares< PointInT, PointOutT >::search_method_
protected

Метод поиска индексов.

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::searchForNeighbors() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchMethod().

search_radius_

template<typename PointInT , typename PointOutT >
double pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_
protected

Радиус поиска ближайших соседей для каждой точки.

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getSearchRadius(), pcl::MovingLeastSquares< PointInT, PointOutT >::searchForNeighbors() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchRadius().

sqr_gauss_param_

template<typename PointInT , typename PointOutT >
double pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_
protected

Параметр для взвешивания соседей на основе расстояния (search_radius_ * search_radius_ работает нормально)

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getSqrGaussParam(), pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchRadius() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSqrGaussParam().

threads_

template<typename PointInT , typename PointOutT >
unsigned int pcl::MovingLeastSquares< PointInT, PointOutT >::threads_
protected

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

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

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

tree_

template<typename PointInT , typename PointOutT >
KdTreePtr pcl::MovingLeastSquares< PointInT, PointOutT >::tree_
protected

Указатель на объект пространственного поиска.

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getSearchMethod() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchMethod().

upsample_method_

template<typename PointInT , typename PointOutT >
UpsamplingMethod pcl::MovingLeastSquares< PointInT, PointOutT >::upsample_method_
protected

Параметр, определяющий метод аппроксимации, который будет использоваться.

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

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

upsampling_radius_

template<typename PointInT , typename PointOutT >
double pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_radius_
protected

Радиус окружности в локальной плоскости точки, которая будет выборочно взята.

Примечание
Используется только в случае аппроксимации SAMPLE_LOCAL_PLANE

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingRadius() и pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingRadius().

upsampling_step_

template<typename PointInT , typename PointOutT >
double pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_step_
protected

Шаг для выборки локальной плоскости.

Примечание
Используется только в случае аппроксимации SAMPLE_LOCAL_PLANE

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingStepSize() и pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingStepSize().

voxel_size_

template<typename PointInT , typename PointOutT >
float pcl::MovingLeastSquares< PointInT, PointOutT >::voxel_size_
protected

Размер вокселя для метода аппроксимации VOXEL_GRID_DILATION.

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

Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getDilationVoxelSize() и pcl::MovingLeastSquares< PointInT, PointOutT >::setDilationVoxelSize().


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

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

Spec-Zone.ru

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