Spec-Zone.ru › PointCloudLibrary

StatisticalOutlierRemoval использует статистику окрестности точек для фильтрации выбросов данных. Подробнее...

#include <pcl/filters/statistical_outlier_removal.h>

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

Public Types

using Ptr = shared_ptr< StatisticalOutlierRemoval< PointT > >
using ConstPtr = shared_ptr< const StatisticalOutlierRemoval< PointT > >
- 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

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

StatisticalOutlierRemoval (bool extract_removed_indices=false)
Конструктор. Подробнее...
void setMeanK (int nr_k)
Установить количество ближайших соседей для оценки среднего расстояния. Подробнее...
int getMeanK ()
Получить количество ближайших соседей для оценки среднего расстояния. Подробнее...
void setStddevMulThresh (double stddev_mult)
Установить множитель стандартного отклонения для расчета порога расстояния. Подробнее...
double getStddevMulThresh ()
Получить множитель стандартного отклонения для расчета порога расстояния. Подробнее...
- Общедоступные члены функций, унаследованные от 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 для сокращения кода. Подробнее...

Защищенные типы

using PointCloud = typename FilterIndices< PointT >::PointCloud
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using SearcherPtr = typename pcl::search::Search< PointT >::Ptr

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

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

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

- Защищённые атрибуты, унаследованные от 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. Подробнее...

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

шаблон<typename PointT>
класс pcl::StatisticalOutlierRemoval< PointT >

StatisticalOutlierRemoval использует статистику ближайших соседей точек для фильтрации выбросов.

Алгоритм итерируется по всему входному набору дважды: Во время первой итерации он вычислит среднее расстояние каждой точки до её k ближайших соседей. Значение k можно установить с помощью setMeanK(). Затем рассчитываются среднее и стандартное отклонение всех этих расстояний для определения порога расстояния. Порог расстояния будет равен: среднее + stddev_mult * стандартное отклонение. Множитель стандартного отклонения можно установить с помощью setStddevMulThresh(). Во время следующей итерации точки будут классифицированы как внутренние или внешние, если их среднее расстояние до соседей меньше или больше этого порога соответственно.
Соседи, найденные для каждой точки запроса, будут найдены среди ВСЕХ точек из setInputCloud(), а не только тех, которые проиндексированы с помощью setIndices(). Метод setIndices() только индексирует точки, которые будут итерироваться в качестве точек запроса поиска.

Для получения дополнительной информации:

  • R. B. Rusu, Z. C. Marton, N. Blodow, M. Dolha, and M. Beetz. Towards 3D Point Cloud Based Объектных Картах для Домашней Среды Робототехники и Автономных Систем Журнал (специальный выпуск по семантическому знанию), 2008.

    Пример использования:
    pcl::StatisticalOutlierRemoval<PointType> sorfilter (true); // Initializing with true will allow us to extract the removed indices
    sorfilter.setInputCloud (cloud_in);
    sorfilter.setMeanK (8);
    sorfilter.setStddevMulThresh (1.0);
    sorfilter.filter (*cloud_out);
    // The resulting cloud_out contains all points of cloud_in that have an average distance to their 8 nearest neighbors that is below the computed threshold
    // Using a standard deviation multiplier of 1.0 and assuming the average distances are normally distributed there is a 84.1% chance that a point will be an inlier
    indices_rem = sorfilter.getRemovedIndices ();
    // The indices_rem array indexes all points of cloud_in that are outliers
    pcl::StatisticalOutlierRemovalStatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data.Definition: statistical_outlier_removal.h:81
    pcl::StatisticalOutlierRemoval
    StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data.
    Definition: statistical_outlier_removal.h:81
    
    Автор
    Раду Богдан Русу

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

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

ConstPtr

template<typename PointT >
using pcl::StatisticalOutlierRemoval< PointT >::ConstPtr = shared_ptr<const StatisticalOutlierRemoval<PointT> >

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

PointCloud

template<typename PointT >
using pcl::StatisticalOutlierRemoval< PointT >::PointCloud = typename FilterIndices<PointT>::PointCloud
protected

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

PointCloudConstPtr

template<typename PointT >
using pcl::StatisticalOutlierRemoval< PointT >::PointCloudConstPtr = typename PointCloud::ConstPtr
protected

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

PointCloudPtr

template<typename PointT >
using pcl::StatisticalOutlierRemoval< PointT >::PointCloudPtr = typename PointCloud::Ptr
protected

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

Ptr

template<typename PointT >
using pcl::StatisticalOutlierRemoval< PointT >::Ptr = shared_ptr<StatisticalOutlierRemoval<PointT> >

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

SearcherPtr

template<typename PointT >
using pcl::StatisticalOutlierRemoval< PointT >::SearcherPtr = typename pcl::search::Search<PointT>::Ptr
protected

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

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

StatisticalOutlierRemoval()

template<typename PointT >
pcl::StatisticalOutlierRemoval< PointT >::StatisticalOutlierRemoval ( bool extract_removed_indices = false )
inline

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

Параметры
[in] extract_removed_indices Установить в true, если нужно извлечь индексы удалённых точек (по умолчанию false).

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

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

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

applyFilter()

template<typename PointT >
void pcl::StatisticalOutlierRemoval< PointT >::applyFilter ( Indices & indices )
inlineoverrideprotectedvirtual

Отфильтрованные результаты индексируются массивом индексов.

Параметры
[out] indices Результат индексов.

Реализует pcl::FilterIndices< PointT >.

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

Ссылки на pcl::StatisticalOutlierRemoval< PointT >::applyFilterIndices().

applyFilterIndices()

template<typename PointT >
void pcl::StatisticalOutlierRemoval< PointT >::applyFilterIndices ( Indices & indices )
protected

Результаты фильтрации индексируются массивом индексов.

Параметры
[out] indices Полученные индексы.

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

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

Используется в pcl::StatisticalOutlierRemoval< PointT >::applyFilter().

getMeanK()

template<typename PointT >
int pcl::StatisticalOutlierRemoval< PointT >::getMeanK ( )
inline

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

Возвращает
Количество точек для оценки среднего расстояния.

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

getStddevMulThresh()

template<typename PointT >
double pcl::StatisticalOutlierRemoval< PointT >::getStddevMulThresh ( )
inline

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

Порог расстояния будет равен: среднее + stddev_mult * stddev. Точки будут классифицированы как инлиеры или аутлиеры, если их среднее расстояние до соседей находится соответственно ниже или выше этого порога.

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

setMeanK()

template<typename PointT >
void pcl::StatisticalOutlierRemoval< PointT >::setMeanK ( int nr_k )
inline

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

Параметры
[in] nr_k Количество точек для оценки среднего расстояния.

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

setStddevMulThresh()

template<typename PointT >
void pcl::StatisticalOutlierRemoval< PointT >::setStddevMulThresh ( double stddev_mult )
inline

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

Порог расстояния будет равен: среднее + stddev_mult * stddev. Точки будут классифицированы как инлиеры или аутлиеры, если их среднее расстояние до соседей находится соответственно ниже или выше этого порога.

Параметры
[in] stddev_mult Множитель стандартного отклонения.

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


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

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

Spec-Zone.ru

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