Spec-Zone.ru › PointCloudLibrary

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

#include <pcl/filters/statistical_outlier_removal.h>

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

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

using Ptr = shared_ptr< StatisticalOutlierRemoval< PointT > >
using ConstPtr = shared_ptr< const StatisticalOutlierRemoval< PointT > >
- Общедоступные типы, унаследованные от 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

Открытые функции-члены

StatisticalOutlierRemoval (bool extract_removed_indices=false)
Конструктор. Подробнее...
void setMeanK (int nr_k)
Задать количество ближайших соседей, используемых для оценки среднего расстояния. Подробнее...
int getMeanK ()
Получить количество ближайших соседей, используемых для оценки среднего расстояния. Подробнее...
void setStddevMulThresh (double stddev_mult)
Задать множитель стандартного отклонения для вычисления порогового значения расстояния. Подробнее...
double getStddevMulThresh ()
Получить множитель стандартного отклонения для вычисления порогового значения расстояния. Подробнее...
void setSearchMethod (const SearcherPtr &searcher)
Передать указатель на объект поиска. Подробнее...
- Открытые функции-члены, унаследованные от 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)
Вызывает метод фильтрации и возвращает отфильтрованный набор данных в выходном параметре. Подробнее...
- Открытые функции-члены, унаследованные от 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
Результаты фильтрации представлены массивом индексов. Подробнее...
void applyFilterIndices (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}
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>
class pcl::StatisticalOutlierRemoval< PointT >

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

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

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

  • R. B. Rusu, Z. C. Marton, N. Blodow, M. Dolha, and M. Beetz. К созданию карт объектов на основе 3D-облаков точек для бытовых помещений. Журнал Robotics and Autonomous Systems (специальный выпуск о семантических знаниях), 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:82
    pcl::StatisticalOutlierRemoval
    StatisticalOutlierRemoval uses point neighborhood statistics to filter outlier data.
    Definition: statistical_outlier_removal.h:82
    
    См. также
    RadiusOutlierRemoval
    Автор
    Radu Bogdan Rusu

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

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

ConstPtr

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

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

PointCloud

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

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

PointCloudConstPtr

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

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

PointCloudPtr

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

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

Ptr

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

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

SearcherPtr

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

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

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

StatisticalOutlierRemoval()

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

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

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

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

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

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

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

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

getStddevMulThresh()

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

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

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

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

setMeanK()

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

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

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

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

setSearchMethod()

template<typename PointT >
void pcl::StatisticalOutlierRemoval< PointT >::setSearchMethod ( const SearcherPtr & searcher )
inline

Передать указатель на объект поиска.

Вызов этого метода необязателен. Если его не вызвать, метод поиска будет выбран автоматически.

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

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

setStddevMulThresh()

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

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

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

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

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