Spec-Zone.ru › PointCloudLibrary

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

#include <pcl/filters/covariance_sampling.h>

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

Открытые типы

using Ptr = shared_ptr< CovarianceSampling< PointT, PointNT > >
using ConstPtr = shared_ptr< const CovarianceSampling< PointT, PointNT > >
- Открытые типы, унаследованные от pcl::FilterIndices< PointT >
using PointCloud = pcl::PointCloud< PointT >
using Ptr = shared_ptr< FilterIndices< PointT > >
using ConstPtr = shared_ptr< const FilterIndices< PointT > >
- Открытые типы, унаследованные от 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
- Открытые типы, унаследованные от 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)

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

unsigned int num_samples_
Количество индексов, которые будут возвращены. Подробнее...
NormalsConstPtr input_normals_
Нормали, вычисленные для каждой точки во входном облаке. Подробнее...
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > scaled_points_
- Защищённые атрибуты, унаследованные от pcl::FilterIndices< PointT >
bool negative_ {false}
False = обычное поведение фильтра (по умолчанию), true = инвертированное поведение. Подробнее...
bool keep_organized_ {false}
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" — N. Gelfand, L. Ikemoto, S. Rusinkiewicz, M. Levoy
Автор
Alexandru E. Ichim, alex..nosp@m.e.ic.nosp@m.him@g.nosp@m.mail.nosp@m..com

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

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

ConstPtr

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

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

Ptr

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

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

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

CovarianceSampling()

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

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

Определение в строке 81 файла 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 )
[override][protected][virtual]

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

Параметры
[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

Возвращает нормали, вычисленные для входного облака точек.

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

Определение в строке 93 файла 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 нормали, вычисленные для входного облака

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

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

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

Описание данных-членов

input_normals_

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

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

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

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

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

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


Документация этого класса создана на основе следующих файлов:
  • 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