Spec-Zone.ru › PointCloudLibrary

Выборка облака точек на основе 6D ковариаций. Подробнее...

#include <pcl/filters/covariance_sampling.h>

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

Public Types

using Ptr = shared_ptr< CovarianceSampling< PointT, PointNT > >
using ConstPtr = shared_ptr< const CovarianceSampling< PointT, PointNT > >
- Public Types inherited from pcl::FilterIndices< PointT >
using PointCloud = pcl::PointCloud< PointT >
using Ptr = shared_ptr< FilterIndices< PointT > >
using ConstPtr = shared_ptr< const FilterIndices< PointT > >
- Public Types inherited from pcl::Filter< PointT >
using Ptr = shared_ptr< Filter< PointT > >
using ConstPtr = shared_ptr< const Filter< PointT > >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
- Public Types inherited from pcl::PCLBase< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

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

CovarianceSampling ()
Пустой конструктор. Подробнее...
void setNumberOfSamples (unsigned int samples)
Установить количество индексов для выборки. Подробнее...
unsigned int getNumberOfSamples () const
Получить значение внутреннего параметра num_samples_. Подробнее...
void setNormals (const NormalsConstPtr &normals)
Установить нормали, вычисленные для входного облака точек. Подробнее...
NormalsConstPtr getNormals () const
Получить нормали, вычисленные для входного облака точек. Подробнее...
double computeConditionNumber ()
Вычислить число обусловленности входного облака точек. Подробнее...
bool computeCovarianceMatrix (Eigen::Matrix< double, 6, 6 > &covariance_matrix)
Вычисляет матрицу ковариации входного облака. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::FilterIndices< PointT >
FilterIndices (bool extract_removed_indices=false)
Конструктор. Подробнее...
void filter (Indices &indices)
Вызывает метод фильтрации и возвращает индексы отфильтрованных точек облака. Подробнее...
void setNegative (bool negative)
Установить, должны ли применяться стандартные условия для фильтрации точек, или инвертированные условия. Подробнее...
bool getNegative () const
Получить, должны ли применяться стандартные условия для фильтрации точек, или инвертированные условия. Подробнее...
void setKeepOrganized (bool keep_organized)
Установить, должны ли отфильтрованные точки сохраняться и устанавливаться к значению, заданному через setUserFilterValue (по умолчанию: NaN), или удаляться из PointCloud, потенциально нарушая ее организованную структуру. Подробнее...
bool getKeepOrganized () const
Получить, должны ли отфильтрованные точки сохраняться и устанавливаться к значению, заданному через setUserFilterValue (по умолчанию = NaN), или удаляться из PointCloud, потенциально нарушая ее организованную структуру. Подробнее...
void setUserFilterValue (float value)
Предоставить значение, к которому должны устанавливаться отфильтрованные точки вместо удаления. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::Filter< PointT >
Filter (bool extract_removed_indices=false)
Пустой конструктор. Подробнее...
IndicesConstPtr const getRemovedIndices () const
Получить индексы точек, подлежащих удалению. Подробнее...
void getRemovedIndices (PointIndices &pi)
Получить индексы точек, подлежащих удалению. Подробнее...
void filter (PointCloud &output)
Вызывает метод фильтрации и возвращает отфильтрованные данные в output. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::PCLBase< PointT >
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 PointT & operator[] (std::size_t pos) const
Переопределение оператора PointCloud [] для сокращения кода. Подробнее...

Статические публичные методы

static double computeConditionNumber (const Eigen::Matrix< double, 6, 6 > &covariance_matrix)
Вычисление числа обусловленности входного облака точек. Подробнее...

Защищённые методы

bool initCompute ()
void applyFilter (Cloud &output) override
Выборка индексов точек в отдельное облако PointCloud. Подробнее...
void applyFilter (Indices &indices) override
Выборка индексов точек. Подробнее...
- Защищённые методы, унаследованные от pcl::FilterIndices< PointT >
void applyFilter (PointCloud &output) override
Абстрактный метод фильтрации для облака точек. Подробнее...
- Защищённые методы, унаследованные от pcl::Filter< PointT >
const std::string & getClassName () const
Получить строковое представление имени класса. Подробнее...
- Защищённые методы, унаследованные от pcl::PCLBase< PointT >
bool initCompute ()
Этот метод должен вызываться перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод должен вызываться после завершения фактических вычислений. Подробнее...

Статические защищённые методы

static bool sort_dot_list_function (std::pair< int, double > a, std::pair< int, double > b)
END_OF_DOCUMENT_MARKER

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

unsigned int num_samples_
Количество индексов, которые будут возвращены. Подробнее...
NormalsConstPtr input_normals_
Нормали, вычисленные для каждой точки входного облака. Подробнее...
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > scaled_points_
- Защищенные атрибуты, унаследованные от pcl::FilterIndices< PointT >
bool negative_
False = стандартное поведение фильтра (по умолчанию), true = инвертированное поведение. Подробнее...
bool keep_organized_
False = удалить точки (по умолчанию), true = переопределить точки, сохранить структуру. Подробнее...
float user_filter_value_
Значение, заданное пользователем, для которого должны быть установлены отфильтрованные размеры точек (по умолчанию = NaN). Подробнее...
- Защищенные атрибуты, унаследованные от pcl::Filter< PointT >
IndicesPtr removed_indices_
Индексы удаленных точек. Подробнее...
std::string filter_name_
Название фильтра. Подробнее...
bool extract_removed_indices_
Установить в значение true, если необходимо вернуть индексы удаленных точек. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::PCLBase< PointT >
PointCloudConstPtr input_
Входное облако точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
bool use_indices_
Установить в значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное PointCloud. Подробнее...

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

template<typename PointT, typename PointNT>
class pcl::CovarianceSampling< PointT, PointNT >

Выборка точек облака точек на основе 6D ковариаций.

Выбирает точки таким образом, чтобы полученное облако было максимально устойчивым для регистрации (по отношению к копии самого себя) с помощью ICP. Алгоритм добавляет точки в результирующее облако по частям, пытаясь сделать все 6 собственных значений матрицы ковариации максимально близкими друг к другу. Этот класс также поставляется с методом computeConditionNumber, который возвращает число, показывающее, насколько устойчивым будет облако точек при использовании его в качестве входных данных для ICP (чем значение ближе к 1.0, тем лучше).

Основано на следующей публикации:

  • "Geometrically Stable Sampling for the ICP Algorithm" - Н. Гельфанд, Л. Икемото, С. Русинкевич, М. Левой
Автор
Alexandru E. Ichim, alex..nosp@m.e.ic.nosp@m.him@g.nosp@m.mail.nosp@m..com

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

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

ConstPtr

template<typename PointT , typename PointNT >
using pcl::CovarianceSampling< PointT, PointNT >::ConstPtr = shared_ptr< const CovarianceSampling<PointT, PointNT> >

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

Ptr

template<typename PointT , typename PointNT >
using pcl::CovarianceSampling< PointT, PointNT >::Ptr = shared_ptr< CovarianceSampling<PointT, PointNT> >

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

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

CovarianceSampling()

template<typename PointT , typename PointNT >
pcl::CovarianceSampling< PointT, PointNT >::CovarianceSampling ( )
inline

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

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

Ссылки на pcl::Filter< PointT >::filter_name_.

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

applyFilter() [1/2]

template<typename PointT , typename PointNT >
void pcl::CovarianceSampling< PointT, PointNT >::applyFilter ( Cloud & output )
overrideprotectedvirtual

Выборка индексов точек в отдельное облако точек PointCloud.

Параметры
[out] output результирующее облако точек

Реализация pcl::Filter< PointT >.

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

applyFilter() [2/2]

template<typename PointT , typename PointNT >
void pcl::CovarianceSampling< PointT, PointNT >::applyFilter ( Indices & indices )
overrideprotectedvirtual

Выборка индексов точек.

Параметры
[out] indices результирующие индексы точек облака точек

TODO выяснить, как заполнить candidate_indices — см. последующие абзацы статьи

Реализация pcl::FilterIndices< PointT >.

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

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

computeConditionNumber() [1/2]

template<typename PointT , typename PointNT >
double pcl::CovarianceSampling< PointT, PointNT >::computeConditionNumber

Вычисление числа обусловленности входного облака точек.

Число обусловленности — это отношение между наибольшим и наименьшим собственными значениями 6x6 матрицы ковариации облака. Чем ближе это число к 1.0, тем устойчивее облако для регистрации ICP.

Возвращает
число обусловленности

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

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

computeConditionNumber() [2/2]

template<typename PointT , typename PointNT >
double pcl::CovarianceSampling< PointT, PointNT >::computeConditionNumber ( const Eigen::Matrix< double, 6, 6 > & covariance_matrix )
static

Вычислить число обусловленности входного облака точек.

Число обусловленности — это отношение между наибольшим и наименьшим собственными значениями 6x6 матрицы ковариации облака. Чем ближе это число к 1.0, тем стабильнее облако для регистрации ICP.

Параметры
[in] covariance_matrix переданная пользователем матрица ковариаций. Предполагается, что она самосопряжённая/симметричная.
Возвращает
число обусловленности

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

computeCovarianceMatrix()

template<typename PointT , typename PointNT >
bool pcl::CovarianceSampling< PointT, PointNT >::computeCovarianceMatrix ( Eigen::Matrix< double, 6, 6 > & covariance_matrix )

Вычисляет матрицу ковариаций входного облака.

Параметры
[out] covariance_matrix вычисленная матрица ковариаций.
Возвращает
успех или неудачу вычисления

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

getNormals()

template<typename PointT , typename PointNT >
NormalsConstPtr pcl::CovarianceSampling< PointT, PointNT >::getNormals ( ) const
inline

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

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

Ссылок на pcl::CovarianceSampling< PointT, PointNT >::input_normals_.

getNumberOfSamples()

template<typename PointT , typename PointNT >
unsigned int pcl::CovarianceSampling< PointT, PointNT >::getNumberOfSamples ( ) const
inline

Получить значение внутреннего параметра num_samples_.

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

Ссылок на pcl::CovarianceSampling< PointT, PointNT >::num_samples_.

initCompute()

template<typename PointT , typename PointNT >
bool pcl::CovarianceSampling< PointT, PointNT >::initCompute
protected

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

setNormals()

template<typename PointT , typename PointNT >
void pcl::CovarianceSampling< PointT, PointNT >::setNormals ( const NormalsConstPtr & normals )
inline

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

Параметры
[in] normals вычисленные нормали для входного облака

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

Ссылок на pcl::CovarianceSampling< PointT, PointNT >::input_normals_.

setNumberOfSamples()

template<typename PointT , typename PointNT >
void pcl::CovarianceSampling< PointT, PointNT >::setNumberOfSamples ( unsigned int samples )
inline

Установить количество индексов для выборки.

Параметры
[in] samples количество индексов выборки

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

Ссылок на pcl::CovarianceSampling< PointT, PointNT >::num_samples_.

sort_dot_list_function()

template<typename PointT , typename PointNT >
static bool pcl::CovarianceSampling< PointT, PointNT >::sort_dot_list_function ( std::pair< int, double > a,
std::pair< int, double > b
)
inlinestaticprotected

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

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

input_normals_

template<typename PointT , typename PointNT >
NormalsConstPtr pcl::CovarianceSampling< PointT, PointNT >::input_normals_
protected

Нормали, вычисленные для каждой точки в облаке входных данных.

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

Используется в pcl::CovarianceSampling< PointT, PointNT >::getNormals() и pcl::CovarianceSampling< PointT, PointNT >::setNormals().

num_samples_

template<typename PointT , typename PointNT >
unsigned int pcl::CovarianceSampling< PointT, PointNT >::num_samples_
protected

Количество индексов, которые будут возвращены.

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

Используется в pcl::CovarianceSampling< PointT, PointNT >::getNumberOfSamples() и pcl::CovarianceSampling< PointT, PointNT >::setNumberOfSamples().

scaled_points_

template<typename PointT , typename PointNT >
std::vector<Eigen::Vector3f, Eigen::aligned_allocator<Eigen::Vector3f> > pcl::CovarianceSampling< PointT, PointNT >::scaled_points_
protected

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


The documentation for this class was generated from the following files:
  • pcl/filters/covariance_sampling.h
  • pcl/filters/impl/covariance_sampling.hpp

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

Spec-Zone.ru

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