VoxelGrid для оценки области, скрытой в сцене. Подробнее...
#include <pcl/filters/voxel_grid_occlusion_estimation.h>
Общедоступные члены-функции | |
| VoxelGridOcclusionEstimation () | |
| Пустой конструктор. Подробнее... |
|
| ~VoxelGridOcclusionEstimation () override=default | |
| Деструктор. Подробнее... |
|
| void | initializeVoxelGrid () |
| Инициализирует ячейки сетки, необходимо вызвать сначала. Строит сетку ячеек и вычисляет дополнительные значения для алгоритма трассировки лучей. Подробнее... |
|
| int | occlusionEstimation (int &out_state, const Eigen::Vector3i &in_target_voxel) |
| Вычисляет состояние (free = 0, occluded = 1) ячейки после использования алгоритма трассировки лучей до целевой ячейки в координатах (i, j, k). Подробнее... |
|
| int | occlusionEstimation (int &out_state, std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > &out_ray, const Eigen::Vector3i &in_target_voxel) |
| Вычисляет состояние (free = 0, occluded = 1) ячейки после использования алгоритма трассировки лучей до целевой ячейки в координатах (i, j, k). Подробнее... |
|
| int | occlusionEstimationAll (std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > &occluded_voxels) |
| Вычисляет координаты ячеек (i, j, k) всех непрозрачных ячеек в сетке ячеек. Подробнее... |
|
| PointCloud | getFilteredPointCloud () |
| Возвращает отфильтрованное облако точек сетки ячеек. Подробнее... |
|
| Eigen::Vector3f | getMinBoundCoordinates () |
| Возвращает минимальные граничные координаты сетки ячеек (x,y,z). Подробнее... |
|
| Eigen::Vector3f | getMaxBoundCoordinates () |
| Возвращает максимальные граничные координаты сетки ячеек (x,y,z). Подробнее... |
|
| Eigen::Vector4f | getCentroidCoordinate (const Eigen::Vector3i &ijk) |
| Возвращает соответствующие координаты центра (x,y,z) в сетке ячеек (i,j,k). Подробнее... |
|
|
| |
| VoxelGrid () | |
| Пустой конструктор. Подробнее... |
|
| ~VoxelGrid () override=default | |
| Деструктор. Подробнее... |
|
| void | setLeafSize (const Eigen::Vector4f &leaf_size) |
| Устанавливает размер листа сетки ячеек. Подробнее... |
|
| void | setLeafSize (float lx, float ly, float lz) |
| Устанавливает размер листа сетки ячеек. Подробнее... |
|
| Eigen::Vector3f | getLeafSize () const |
| Получить размер листа сетки ячеек. Подробнее... |
|
| void | setDownsampleAllData (bool downsample) |
| Установить в true, если все поля нужно уменьшить, или в false, если только XYZ. Подробнее... |
|
| bool | getDownsampleAllData () const |
| Получить состояние внутреннего параметра сглаживания (true, если все поля необходимо сгладить, false, если только XYZ). Подробнее... |
|
| void | setMinimumPointsNumberPerVoxel (unsigned int min_points_per_voxel) |
| Установить минимальное количество точек, необходимое для использования вокселя. Подробнее... |
|
| unsigned int | getMinimumPointsNumberPerVoxel () const |
| Возвратить минимальное количество точек, необходимое для использования вокселя. Подробнее... |
|
| void | setSaveLeafLayout (bool save_leaf_layout) |
| Установить в значение true, если информация о макете листа должна сохраняться для последующего доступа. Подробнее... |
|
| bool | getSaveLeafLayout () const |
| Возвращает true, если информация о макете листа будет сохранена для последующего доступа. Подробнее... |
|
| Eigen::Vector3i | getMinBoxCoordinates () const |
| Получить минимальные координаты ограничивающего прямоугольника (после выполнения фильтрации). Подробнее... |
|
| Eigen::Vector3i | getMaxBoxCoordinates () const |
| Получить максимальные координаты ограничивающего прямоугольника (после выполнения фильтрации). Подробнее... |
|
| Eigen::Vector3i | getNrDivisions () const |
| Получить количество разделений по всем 3 осям (после выполнения фильтрации). Подробнее... |
|
| Eigen::Vector3i | getDivisionMultiplier () const |
| Получить множители, которые должны применяться к координатам сетки для поиска индекса центра (после выполнения фильтрации). Подробнее... |
|
| int | getCentroidIndex (const PointT &p) const |
| Возвращает индекс в результирующем сглаженном облаке указанной точки. Подробнее... |
|
| std::vector< int > | getNeighborCentroidIndices (const PointT &reference_point, const Eigen::MatrixXi &relative_coordinates) const |
| Возвращает индексы в результирующем сглаженном облаке точек в указанных координатах сетки, относительно координат сетки указанной точки (или -1, если ячейка пуста/вне границ). Подробнее... |
|
| std::vector< int > | getLeafLayout () const |
| Возвращает макет листов для быстрого доступа к ячейкам, относящимся к текущему положению. Подробнее... |
|
| Eigen::Vector3i | getGridCoordinates (float x, float y, float z) const |
| Возвращает соответствующие (i,j,k) координаты в сетке точки (x,y,z). Подробнее... |
|
| int | getCentroidIndexAt (const Eigen::Vector3i &ijk) const |
| Возвращает индекс в сглаженном облаке, соответствующий заданному набору координат. Подробнее... |
|
| void | setFilterFieldName (const std::string &field_name) |
| Указать имя поля, которое будет использоваться для фильтрации данных. Подробнее... |
| std::string const | getFilterFieldName () const |
| Получить имя поля, используемого для фильтрации. Подробнее... |
|
| void | setFilterLimits (const double &limit_min, const double &limit_max) |
| Установить пределы фильтра поля. Подробнее... |
|
| void | getFilterLimits (double &limit_min, double &limit_max) const |
| Получить пределы фильтра поля (мин/макс), установленные пользователем. Подробнее... |
|
| void | setFilterLimitsNegative (const bool limit_negative) |
| Установить значение в true, если нужно вернуть данные вне интервала, указанного в setFilterLimits (мин, макс). Подробнее... |
|
| void | getFilterLimitsNegative (bool &limit_negative) const |
| Получить значение, указывающее, нужно ли возвращать данные вне интервала (мин/макс) (true) или внутри (false). Подробнее... |
|
| bool | getFilterLimitsNegative () const |
| Получить значение, указывающее, нужно ли возвращать данные вне интервала (мин/макс) (true) или внутри (false). Подробнее... |
|
|
| |
| Filter (bool extract_removed_indices=false) | |
| Пустой конструктор. Подробнее... |
|
| IndicesConstPtr const | getRemovedIndices () const |
| Получить индексы удаляемых точек. Подробнее... |
|
| void | getRemovedIndices (PointIndices &pi) |
| Получить индексы удаляемых точек. Подробнее... |
|
| void | filter (PointCloud &output) |
| Вызывает метод фильтрации и возвращает отфильтрованные данные в output. Подробнее... |
|
|
| |
| 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 оператор[] для сокращения кода. Подробнее... |
|
Публичные атрибуты | |
| PCL_MAKE_ALIGNED_OPERATOR_NEW | |
|
| |
| PCL_MAKE_ALIGNED_OPERATOR_NEW | |
Защищенные типы | |
| using | ОблакоТочек = typename Фильтр< ТочкаT >::ОблакоТочек |
| using | УказательОблакаТочек = typename ОблакоТочек::Ptr |
| using | ПостоянныйУказательОблакаТочек = typename ОблакоТочек::ConstPtr |
|
| |
| using | ОблакоТочек = typename Фильтр< ТочкаT >::ОблакоТочек |
| using | УказательОблакаТочек = typename ОблакоТочек::Ptr |
| using | ПостоянныйУказательОблакаТочек = typename ОблакоТочек::ConstPtr |
| using | СписокПолей = typename pcl::traits::fieldList< ТочкаT >::type |
Защищенные члены-функции | |
| float | rayBoxIntersection (const Eigen::Vector4f &origin, const Eigen::Vector4f &direction) |
| Возвращает значение масштабирования (tmin), где луч пересекает граничную коробку ячейки воксельного поля. Подробнее... |
|
| int | rayTraversal (const Eigen::Vector3i &target_voxel, const Eigen::Vector4f &origin, const Eigen::Vector4f &direction, const float t_min) |
| Возвращает состояние целевой ячейки вокселя (0 = видимая, 1 = занятая) с помощью алгоритма прохождения луча. Подробнее... |
|
| int | rayTraversal (std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > &out_ray, const Eigen::Vector3i &target_voxel, const Eigen::Vector4f &origin, const Eigen::Vector4f &direction, const float t_min) |
| Возвращает состояние целевой ячейки вокселя (0 = видимая, 1 = занятая) и ячейки вокселя, пересечённые лучом, с помощью алгоритма прохождения луча. Подробнее... |
|
| float | round (float d) |
| Возвращает округлённое значение. Подробнее... |
|
| Eigen::Vector3i | getGridCoordinatesRound (float x, float y, float z) |
| Возвращает соответствующие (i, j, k) координаты в сетке точки (x, y, z). Подробнее... |
|
|
| |
| void | applyFilter (PointCloud &output) override |
| Уменьшение выборки облака точек с помощью подхода вокселизации сетки. Подробнее... |
|
|
| |
| const std::string & | getClassName () const |
| Получить строковое представление имени этого класса. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод должен вызываться перед началом фактического вычисления. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод должен вызываться после завершения фактического вычисления. Подробнее... |
|
Защищенные атрибуты | |
| bool | initialized_ |
| Eigen::Vector4f | sensor_origin_ |
| Eigen::Quaternionf | sensor_orientation_ |
| Eigen::Vector4f | b_min_ |
| Eigen::Vector4f | b_max_ |
| PointCloud | filtered_cloud_ |
|
| |
| Eigen::Vector4f | leaf_size_ |
| Размер листа. Подробнее... |
|
| Eigen::Array4f | inverse_leaf_size_ |
| Внутренние размеры листа, хранящиеся как 1/leaf_size_, для повышения эффективности. Подробнее... |
|
| bool | downsample_all_data_ |
| Установите в значение true, если необходимо выполнить сжатие всех полей, или в значение false, если нужно только сжать XYZ. Подробнее... |
|
| bool | save_leaf_layout_ |
| Установите в true, если необходимо сохранить информацию о макете листа в leaf_layout_. Подробнее... |
|
| std::vector< int > | leaf_layout_ |
| Информация о макете листа для быстрого доступа к ячейкам, относящимся к текущему положению. Подробнее... |
|
| Eigen::Vector4i | min_b_ |
| Минимальные и максимальные координаты бина, количество дивизий и множитель дивизий. Подробнее... |
|
| Eigen::Vector4i | max_b_ |
| Eigen::Vector4i | div_b_ |
| Eigen::Vector4i | divb_mul_ |
| std::string | filter_field_name_ |
| Имя поля фильтра, задаваемого пользователем. Подробнее... |
|
| double | filter_limit_min_ |
| Минимальное разрешенное значение фильтра, с которого будет рассматриваться точка. Подробнее... |
|
| double | filter_limit_max_ |
| Максимальное разрешенное значение фильтра, с которого будет рассматриваться точка. Подробнее... |
|
| bool | filter_limit_negative_ |
| Установите в значение true, если необходимо вернуть данные вне диапазона (filter_limit_min_;filter_limit_max_). Подробнее... |
|
| unsigned int | min_points_per_voxel_ |
| Минимальное количество точек на ячейку для вычисления центра. Подробнее... |
|
|
| |
| IndicesPtr | removed_indices_ |
| Индексы точек, которые были удалены. Подробнее... |
|
| std::string | filter_name_ |
| Имя фильтра. Подробнее... |
|
| bool | extract_removed_indices_ |
| Устанавливается в true, если нужно вернуть индексы удаленных точек. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входное облако точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| bool | use_indices_ |
| Устанавливается в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное PointCloud. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| using | Ptr = shared_ptr< VoxelGrid< PointT > > |
| using | ConstPtr = shared_ptr< const VoxelGrid< 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 |
|
| |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Подробное описание
template<typename PointT>
class pcl::VoxelGridOcclusionEstimation< PointT >
VoxelGrid для оценки заслонения пространства в сцене.
Алгоритм прохождения лучей реализован в работе 'John Amanatides and Andrew Woo, A Fast Voxel Traversal Algorithm for Ray Tracing'
Определение в строке 55 файла voxel_grid_occlusion_estimation.h.
Документация по typedef членам
PointCloud
| protected |
Определение в строке 64 файла voxel_grid_occlusion_estimation.h.
PointCloudConstPtr
| protected |
Определение в строке 66 файла voxel_grid_occlusion_estimation.h.
PointCloudPtr
| protected |
Определение в строке 65 файла voxel_grid_occlusion_estimation.h.
Документация конструкторов и деструкторов
VoxelGridOcclusionEstimation()
| inline |
Пустой конструктор.
Определение в строке 73 файла voxel_grid_occlusion_estimation.h.
Ссылки на pcl::VoxelGridOcclusionEstimation< PointT >::initialized_ и pcl::VoxelGrid< PointT >::setSaveLeafLayout().
~VoxelGridOcclusionEstimation()
| overridedefault |
Деструктор.
Документация по членам-функциям
getCentroidCoordinate()
| inline |
Возвращает соответствующие координаты центра (x,y,z) в сетке вокселя (i,j,k).
- Parameters
-
[in] ijk координаты вокселя (i, j, k)
- Returns
- координаты (x,y,z) центра вокселя
Определение в строке 148 файла voxel_grid_occlusion_estimation.h.
Ссылки на pcl::VoxelGridOcclusionEstimation< PointT >::b_min_, pcl::VoxelGrid< PointT >::leaf_size_ и pcl::VoxelGrid< PointT >::min_b_.
getFilteredPointCloud()
| inline |
Возвращает отфильтрованное облако точек воксельной сетки.
- Returns
- Отфильтрованное облако точек воксельной сетки
Определение в строке 127 файла voxel_grid_occlusion_estimation.h.
Ссылки на pcl::VoxelGridOcclusionEstimation< PointT >::filtered_cloud_.
getGridCoordinatesRound()
| inlineprotected |
Возвращает соответствующие координаты (i,j,k) в сетке точки (x,y,z).
- Parameters
-
[in] x координата точки X, для получения индекса (i, j, k) [in] y координата точки Y, для получения индекса (i, j, k) [in] z координата точки Z, для получения индекса (i, j, k)
Определение в строке 228 файла voxel_grid_occlusion_estimation.h.
Ссылки на pcl::VoxelGrid< PointT >::inverse_leaf_size_ и pcl::VoxelGridOcclusionEstimation< PointT >::round().
getMaxBoundCoordinates()
| inline |
Возвращает максимальные ограничивающие координаты воксельной сетки (x,y,z).
- Returns
- максимальные координаты (x,y,z)
Определение в строке 140 файла voxel_grid_occlusion_estimation.h.
Ссылки на pcl::VoxelGridOcclusionEstimation< PointT >::b_max_.
getMinBoundCoordinates()
| inline |
Возвращает минимальные координаты ограничивающего параллелепипеда для воксельной сетки (x,y,z).
- Возвращает
- минимальные координаты (x,y,z)
Определение в строке 134 файла voxel_grid_occlusion_estimation.h.
Ссылки на pcl::VoxelGridOcclusionEstimation< PointT >::b_min_.
initializeVoxelGrid()
| void pcl::VoxelGridOcclusionEstimation< PointT >::initializeVoxelGrid |
Инициализирует воксельную сетку. Необходимо вызвать перед использованием. Построение воксельной сетки и вычисление дополнительных значений для алгоритма трассировки лучей.
Определение в строке 46 файла voxel_grid_occlusion_estimation.hpp.
occlusionEstimation() [1/2]
| int pcl::VoxelGridOcclusionEstimation< PointT >::occlusionEstimation | ( | int & | out_state, |
| const Eigen::Vector3i & | in_target_voxel | ||
| ) |
Вычисляет состояние (свободное = 0, непрозрачное = 1) вокселя после использования алгоритма трассировки лучей до целевого вокселя в координатах (i, j, k).
- Параметры
-
[out] out_state Состояние вокселя. [in] in_target_voxel Координата целевого вокселя (i, j, k).
- Возвращает
- 0 при успехе и -1 при ошибке
Определение в строке 69 файла voxel_grid_occlusion_estimation.hpp.
occlusionEstimation() [2/2]
| int pcl::VoxelGridOcclusionEstimation< PointT >::occlusionEstimation | ( | int & | out_state, |
| std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > & | out_ray, | ||
| const Eigen::Vector3i & | in_target_voxel | ||
| ) |
Вычисляет состояние (свободное = 0, непрозрачное = 1) вокселя после использования алгоритма трассировки лучей до целевого вокселя в координатах (i, j, k).
Дополнительно, эта функция возвращает воксели, пересеченные алгоритмом трассировки лучей, до достижения целевого вокселя.
- Параметры
-
[out] out_state Состояние вокселя. [out] out_ray Вектор пересеченных вокселей алгоритмом трассировки лучей. [in] in_target_voxel Координата целевого вокселя (i, j, k).
- Возвращает
- 0 при успехе и -1 при ошибке
Определение в строке 100 файла voxel_grid_occlusion_estimation.hpp.
occlusionEstimationAll()
| int pcl::VoxelGridOcclusionEstimation< PointT >::occlusionEstimationAll | ( | std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > & | occluded_voxels | ) |
Вычисляет координаты (i, j, k) всех непрозрачных вокселей в воксельной сетке.
- Параметры
-
[out] occluded_voxels координаты (i, j, k) всех непрозрачных вокселей
- Возвращает
- 0 при успехе и -1 при ошибке
Определение в строке 132 файла voxel_grid_occlusion_estimation.hpp.
rayBoxIntersection()
| protected |
Возвращает значение масштабирования (tmin), где луч пересекает ограничивающий параллелепипед воксельной сетки.
(p_entry = origin + tmin * orientation)
- Параметры
-
[in] origin Начальная точка луча [in] direction Направление луча
- Возвращает
- значение масштабирования
Определение в строке 175 файла voxel_grid_occlusion_estimation.hpp.
rayTraversal() [1/2]
| protected |
Возвращает состояние целевого вокселя (0 = виден, 1 = занят) с помощью алгоритма трассировки лучей.
- Parameters
-
[in] target_voxel Целевой воксель в сетке вокселей с координатами (i, j, k). [in] origin Начальная точка луча. [in] direction Направление луча. [in] t_min Значение масштабирования (tmin).
- Returns
- Оцененное состояние вокселя.
Определение в строке 242 файла voxel_grid_occlusion_estimation.hpp.
rayTraversal() [2/2]
| protected |
Возвращает состояние целевого вокселя (0 = виден, 1 = занят) и воксели, пересекаемые лучом, с помощью алгоритма трассировки лучей.
- Parameters
-
[out] out_ray Вектор вокселей, пересеченных лучом, в координатах (i, j, k). [in] target_voxel Целевой воксель в сетке вокселей с координатами (i, j, k). [in] origin Начальная точка луча. [in] direction Направление луча. [in] t_min Значение масштабирования (tmin).
- Returns
- Оцененное состояние вокселя.
Определение в строке 334 файла voxel_grid_occlusion_estimation.hpp.
round()
| inlineprotected |
Возвращает округленное значение.
- Parameters
-
[in] d
- Returns
- округлённое значение
Определение в строке 216 файла voxel_grid_occlusion_estimation.h.
Используется в pcl::VoxelGridOcclusionEstimation< PointT >::getGridCoordinatesRound().
Member Data Documentation
b_max_
| protected |
Определение в строке 242 файла voxel_grid_occlusion_estimation.h.
Используется в pcl::VoxelGridOcclusionEstimation< PointT >::getMaxBoundCoordinates().
b_min_
| protected |
Определение в строке 242 файла voxel_grid_occlusion_estimation.h.
Используется в pcl::VoxelGridOcclusionEstimation< PointT >::getCentroidCoordinate(), и pcl::VoxelGridOcclusionEstimation< PointT >::getMinBoundCoordinates().
filtered_cloud_
| protected |
Определение в строке 245 файла voxel_grid_occlusion_estimation.h.
Используется в pcl::VoxelGridOcclusionEstimation< PointT >::getFilteredPointCloud().
initialized_
| protected |
Определение в строке 236 файла voxel_grid_occlusion_estimation.h.
Используется в pcl::VoxelGridOcclusionEstimation< PointT >::VoxelGridOcclusionEstimation().
PCL_MAKE_ALIGNED_OPERATOR_NEW
| pcl::VoxelGridOcclusionEstimation< PointT >::PCL_MAKE_ALIGNED_OPERATOR_NEW |
Определение в строке 70 файла voxel_grid_occlusion_estimation.h.
sensor_orientation_
| protected |
Определение в строке 239 файла voxel_grid_occlusion_estimation.h.
sensor_origin_
| protected |
Определение в строке 238 файла voxel_grid_occlusion_estimation.h.
Документация для этого класса была сгенерирована из следующих файлов:
- pcl/filters/voxel_grid_occlusion_estimation.h
- pcl/filters/impl/voxel_grid_occlusion_estimation.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_voxel_grid_occlusion_estimation.html