Spec-Zone.ru › PointCloudLibrary

Класс анализа главных компонент (PCA). Подробнее...

#include <pcl/common/pca.h>

Inheritance graph
[обозначения]
Collaboration graph
[обозначения]

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

enum FLAG { increase , preserve }
Флаг метода обновления. Подробнее...
using Base = pcl::PCLBase< PointT >
using PointCloud = typename Base::PointCloud
using PointCloudPtr = typename Base::PointCloudPtr
using PointCloudConstPtr = typename Base::PointCloudConstPtr
using PointIndicesPtr = typename Base::PointIndicesPtr
using PointIndicesConstPtr = typename Base::PointIndicesConstPtr
- Общедоступные типы, унаследованные от 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

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

PCA (bool basis_only=false)
Конструктор по умолчанию. Подробнее...
PCA (PCA const &pca)
Конструктор копирования. Подробнее...
PCA & operator= (PCA const &pca)
Оператор присваивания. Подробнее...
void setInputCloud (const PointCloudConstPtr &cloud) override
Задать указатель на входной набор данных. Подробнее...
void setIndices (const IndicesPtr &indices) override
Задать указатель на вектор индексов, представляющий входные данные. Подробнее...
void setIndices (const IndicesConstPtr &indices) override
Задать указатель на вектор индексов, представляющий входные данные. Подробнее...
void setIndices (const PointIndicesConstPtr &indices) override
Задать указатель на вектор индексов, представляющий входные данные. Подробнее...
void setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) override
Задать индексы точек, находящихся в интересующей области облака точек. Подробнее...
Eigen::Vector4f & getMean ()
Доступ к среднему значению. Подробнее...
Eigen::Matrix3f & getEigenVectors ()
Eigen: доступ к собственным векторам. Подробнее...
Eigen::Vector3f & getEigenValues ()
Eigen: доступ к собственным значениям. Подробнее...
Eigen::MatrixXf & getCoefficients ()
Доступ к коэффициентам. Подробнее...
void update (const PointT &input, FLAG flag=preserve)
Обновить PCA, добавив новую точку Подробнее...
void project (const PointT &input, PointT &projection)
Спроецировать точку на собственное подпространство. Подробнее...
void project (const PointCloud &input, PointCloud &projection)
Спроецировать облако на собственное подпространство. Подробнее...
void reconstruct (const PointT &projection, PointT &input)
Восстановить точку по её проекции. Подробнее...
void reconstruct (const PointCloud &projection, PointCloud &input)
Восстановить облако по его проекции. Подробнее...
bool initCompute ()
Этот метод следует вызвать перед началом вычислений. Подробнее...
virtual void setInputCloud (const PointCloudConstPtr &cloud)
Задать указатель на входной набор данных. Подробнее...
- Общедоступные методы, унаследованные от pcl::PCLBase< PointT >
PCLBase ()
Пустой конструктор. Подробнее...
PCLBase (const PCLBase &base)
Конструктор копирования. Подробнее...
virtual ~PCLBase ()=default
Деструктор. Подробнее...
PointCloudConstPtr const getInputCloud () const
Получить указатель на входной набор облака точек. Подробнее...
IndicesPtr getIndices ()
Получить указатель на используемый вектор индексов. Подробнее...
IndicesConstPtr const getIndices () const
Получить указатель на используемый вектор индексов. Подробнее...
const PointT & operator[] (std::size_t pos) const
Переопределить оператор [] класса PointCloud для сокращения кода. Подробнее...

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

PointCloudConstPtr input_
Входной набор облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор используемых индексов точек. Подробнее...

Дополнительные унаследованные члены

- Защищённые функции-члены, унаследованные от pcl::PCLBase< PointT >
bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointT >
PointCloudConstPtr input_
Входной набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов используемых точек. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся фиктивный набор индексов, соответствующий входному PointCloud. Подробнее...

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

template<typename PointT>
class pcl::PCA< PointT >

Класс анализа главных компонент (PCA).


Главные компоненты извлекаются с помощью сингулярного разложения ковариационной матрицы центрированного входного облака. После вычисления PCA доступны следующие данные:

  • Среднее значение входных данных
  • Собственные векторы: упорядоченный набор векторов, представляющих полученные главные компоненты и декартов базис собственного подпространства (правосторонняя система координат).
  • Собственные значения: соответствующие собственным векторам нагрузки, упорядоченные по убыванию.

    Другие методы позволяют проецировать данные в собственное подпространство, восстанавливать их из собственного подпространства и обновлять собственное подпространство с учётом новых данных (согласно работе Matej Artec, Matjaz Jogan и Ales Leonardis: «Инкрементальная PCA для онлайн-визуального обучения и распознавания»).
Автор
Nizar Sallem

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

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

Base

template<typename PointT >
using pcl::PCA< PointT >::Base = pcl::PCLBase<PointT>

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

PointCloud

template<typename PointT >
using pcl::PCA< PointT >::PointCloud = typename Base::PointCloud

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

PointCloudConstPtr

template<typename PointT >
using pcl::PCA< PointT >::PointCloudConstPtr = typename Base::PointCloudConstPtr

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

PointCloudPtr

template<typename PointT >
using pcl::PCA< PointT >::PointCloudPtr = typename Base::PointCloudPtr

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

PointIndicesConstPtr

template<typename PointT >
using pcl::PCA< PointT >::PointIndicesConstPtr = typename Base::PointIndicesConstPtr

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

PointIndicesPtr

template<typename PointT >
using pcl::PCA< PointT >::PointIndicesPtr = typename Base::PointIndicesPtr

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

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

FLAG

template<typename PointT >
enum pcl::PCA::FLAG

Флаг метода обновления.

Элементы перечисления
increase

по возможности сохранять новые базисные векторы

preserve

сохранять размерность подпространства

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

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

PCA() [1/2]

template<typename PointT >
pcl::PCA< PointT >::PCA ( bool basis_only = false )
inline

Конструктор по умолчанию.

Параметры
basis_only флаг для вычисления только базиса PCA

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

PCA() [2/2]

template<typename PointT >
pcl::PCA< PointT >::PCA ( PCA< PointT > const & pca )
inline

Конструктор копирования.

Параметры
[in] pca объект PCA

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

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

getCoefficients()

template<typename PointT >
Eigen::MatrixXf& pcl::PCA< PointT >::getCoefficients ( )
inline

Метод доступа к коэффициентам.

Исключения
InitFailedException

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

getEigenValues()

template<typename PointT >
Eigen::Vector3f& pcl::PCA< PointT >::getEigenValues ( )
inline

Метод доступа к собственным значениям Eigen.

Исключения
InitFailedException

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

getEigenVectors()

template<typename PointT >
Eigen::Matrix3f& pcl::PCA< PointT >::getEigenVectors ( )
inline

Метод доступа к собственным векторам Eigen.

Возвращает
Собственные векторы, упорядоченные по столбцам и представляющие декартов базис собственного подпространства (правосторонняя система координат).
Исключения
InitFailedException

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

getMean()

template<typename PointT >
Eigen::Vector4f& pcl::PCA< PointT >::getMean ( )
inline

Метод доступа к среднему значению.

Исключения
InitFailedException

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

initCompute()

template<typename PointT >
bool pcl::PCLBase< PointT >::initCompute

Этот метод следует вызывать перед началом фактических вычислений.

Внутри initCompute() выполняются следующие действия:

  • проверяется, задан ли входной набор данных; в противном случае возвращается false
  • проверяется, задан ли набор входных индексов. Если да, возвращается true.
  • если входные индексы не заданы, создаётся фиктивный набор, который используется до тех пор, пока:
    • либо не будет задан новый набор с помощью setIndices(), либо
    • не будет задано новое облако с другим набором точек. Это приведёт к обновлению набора фиктивных индексов

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

operator=()

template<typename PointT >
PCA& pcl::PCA< PointT >::operator= ( PCA< PointT > const & pca )
inline

Оператор присваивания.

Параметры
[in] pca объект PCA

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

project() [1/2]

template<typename PointT >
void pcl::PCA< PointT >::project ( const PointCloud & input,
PointCloud & projection
)
inline

Проецирует облако на собственное подпространство.

Параметры
[in] input облако из исходного набора данных
[out] projection облако в пространстве собственных векторов
Исключения
InitFailedException

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

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

project() [2/2]

template<typename PointT >
void pcl::PCA< PointT >::project ( const PointT & input,
PointT & projection
)
inline

Проецирует точку на собственное подпространство.

Параметры
[in] input точка из исходного набора данных
[out] projection точка в пространстве собственных векторов
Исключения
InitFailedException

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

reconstruct() [1/2]

template<typename PointT >
void pcl::PCA< PointT >::reconstruct ( const PointCloud & projection,
PointCloud & input
)
inline

Восстанавливает облако по его проекции.

Параметры
[in] projection облако из пространства собственных векторов
[out] input восстановленное облако
Исключения
InitFailedException

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

reconstruct() [2/2]

template<typename PointT >
void pcl::PCA< PointT >::reconstruct ( const PointT & projection,
PointT & input
)
inline

Восстанавливает точку по её проекции.

Параметры
[in] projection точка из пространства собственных векторов
[out] input восстановленная точка
Исключения
InitFailedException

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

setIndices() [1/4]

template<typename PointT >
void pcl::PCA< PointT >::setIndices ( const IndicesConstPtr & indices )
inlineoverridevirtual

Передаёт указатель на вектор индексов, задающий входные данные.

Параметры
[in] indices указатель на индексы, задающие входные данные.

Переопределено из pcl::PCLBase< PointT >.

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

Ссылки: pcl::PCLBase< PointT >::setIndices().

setIndices() [2/4]

template<typename PointT >
void pcl::PCA< PointT >::setIndices ( const IndicesPtr & indices )
inlineoverridevirtual

Передаёт указатель на вектор индексов, задающий входные данные.

Параметры
[in] indices указатель на индексы, задающие входные данные.

Переопределено из pcl::PCLBase< PointT >.

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

Ссылки: pcl::PCLBase< PointT >::setIndices().

setIndices() [3/4]

template<typename PointT >
void pcl::PCA< PointT >::setIndices ( const PointIndicesConstPtr & indices )
inlineoverridevirtual

Передаёт указатель на вектор индексов, задающий входные данные.

Параметры
[in] indices указатель на индексы, задающие входные данные.

Переопределено из pcl::PCLBase< PointT >.

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

Ссылки: pcl::PCLBase< PointT >::setIndices().

setIndices() [4/4]

template<typename PointT >
void pcl::PCA< PointT >::setIndices ( std::size_t row_start,
std::size_t col_start,
std::size_t nb_rows,
std::size_t nb_cols
)
inlineoverridevirtual

Задаёт индексы точек, расположенных в интересующей области облака точек.

Примечание
не следует вызывать этот метод для неорганизованных облаков точек!
Параметры
[in] row_start смещение по строкам
[in] col_start смещение по столбцам
[in] nb_rows количество учитываемых строк, включая row_start
[in] nb_cols количество учитываемых столбцов, включая col_start

Переопределено из pcl::PCLBase< PointT >.

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

Ссылки: pcl::PCLBase< PointT >::setIndices().

setInputCloud() [1/2]

template<typename PointT >
void pcl::PCLBase< PointT >::setInputCloud

Передаёт указатель на входной набор данных.

Параметры
[in] cloud константный общий указатель boost на сообщение PointCloud

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

setInputCloud() [2/2]

template<typename PointT >
void pcl::PCA< PointT >::setInputCloud ( const PointCloudConstPtr & cloud )
inlineoverridevirtual

Передаёт указатель на входной набор данных.

Параметры
cloud константный общий указатель boost на сообщение PointCloud

Переопределено из pcl::PCLBase< PointT >.

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

Ссылки: pcl::PCLBase< PointT >::setInputCloud().

update()

template<typename PointT >
void pcl::PCA< PointT >::update ( const PointT & input,
FLAG flag = preserve
)
inline

Обновляет PCA с учётом новой точки

Параметры
[in] input входная точка
[in] flag флаг обновления
Исключения
InitFailedException

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

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

indices_

template<typename PointT >
IndicesPtr pcl::PCLBase< PointT >::indices_

Указатель на вектор используемых индексов точек.

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

input_

template<typename PointT >
PointCloudConstPtr pcl::PCLBase< PointT >::input_

Входной набор данных — облако точек.

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


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

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

Spec-Zone.ru

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