|
|
PCL_MAKE_ALIGNED_OPERATOR_NEW |
VoxelGridOcclusionEstimation () |
| |
Empty constructor. More...
|
| |
~VoxelGridOcclusionEstimation () override=default |
| |
Destructor. More...
|
| void |
initializeVoxelGrid () |
| |
Initialize the voxel grid, needs to be called first Builts the voxel grid and computes additional values for the ray traversal algorithm. More...
|
| int |
occlusionEstimation (int &out_state, const Eigen::Vector3i &in_target_voxel) |
| |
Computes the state (free = 0, occluded = 1) of the voxel after utilizing a ray traversal algorithm to a target voxel in (i, j, k) coordinates. More...
|
| int |
occlusionEstimation (int &out_state, std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > &out_ray, const Eigen::Vector3i &in_target_voxel) |
| |
Computes the state (free = 0, occluded = 1) of the voxel after utilizing a ray traversal algorithm to a target voxel in (i, j, k) coordinates. More...
|
| int |
occlusionEstimationAll (std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > &occluded_voxels) |
| |
Computes the voxel coordinates (i, j, k) of all occluded voxels in the voxel grid. More...
|
|
PointCloud |
getFilteredPointCloud () |
| |
Returns the voxel grid filtered point cloud. More...
|
| Eigen::Vector3f |
getMinBoundCoordinates () |
| |
Returns the minimum bounding of coordinates of the voxel grid (x,y,z). More...
|
| Eigen::Vector3f |
getMaxBoundCoordinates () |
| |
Returns the maximum bounding of coordinates of the voxel grid (x,y,z). More...
|
| Eigen::Vector4f |
getCentroidCoordinate (const Eigen::Vector3i &ijk) |
| |
Returns the corresponding centroid (x,y,z) coordinates in the grid of voxel (i,j,k). More...
|
|
PCL_MAKE_ALIGNED_OPERATOR_NEW |
VoxelGrid () |
| |
Empty constructor. More...
|
| |
~VoxelGrid () override=default |
| |
Destructor. More...
|
| void |
setLeafSize (const Eigen::Vector4f &leaf_size) |
| |
Set the voxel grid leaf size. More...
|
| void |
setLeafSize (float lx, float ly, float lz) |
| |
Set the voxel grid leaf size. More...
|
| Eigen::Vector3f |
getLeafSize () const |
| |
Get the voxel grid leaf size. More...
|
| void |
setDownsampleAllData (bool downsample) |
| |
Set to true if all fields need to be downsampled, or false if just XYZ. More...
|
| bool |
getDownsampleAllData () const |
| |
Get the state of the internal downsampling parameter (true if all fields need to be downsampled, false if just XYZ). More...
|
| void |
setMinimumPointsNumberPerVoxel (unsigned int min_points_per_voxel) |
| |
Set the minimum number of points required for a voxel to be used. More...
|
| unsigned int |
getMinimumPointsNumberPerVoxel () const |
| |
Return the minimum number of points required for a voxel to be used. More...
|
| void |
setSaveLeafLayout (bool save_leaf_layout) |
| |
Set to true if leaf layout information needs to be saved for later access. More...
|
| bool |
getSaveLeafLayout () const |
| |
Returns true if leaf layout information will to be saved for later access. More...
|
| Eigen::Vector3i |
getMinBoxCoordinates () const |
| |
Get the minimum coordinates of the bounding box (after filtering is performed). More...
|
| Eigen::Vector3i |
getMaxBoxCoordinates () const |
| |
Get the minimum coordinates of the bounding box (after filtering is performed). More...
|
| Eigen::Vector3i |
getNrDivisions () const |
| |
Get the number of divisions along all 3 axes (after filtering is performed). More...
|
| Eigen::Vector3i |
getDivisionMultiplier () const |
| |
Get the multipliers to be applied to the grid coordinates in order to find the centroid index (after filtering is performed). More...
|
| int |
getCentroidIndex (const PointT &p) const |
| |
Returns the index in the resulting downsampled cloud of the specified point. More...
|
| std::vector< int > |
getNeighborCentroidIndices (const PointT &reference_point, const Eigen::MatrixXi &relative_coordinates) const |
| |
Returns the indices in the resulting downsampled cloud of the points at the specified grid coordinates, relative to the grid coordinates of the specified point (or -1 if the cell was empty/out of bounds). More...
|
| std::vector< int > |
getLeafLayout () const |
| |
Returns the layout of the leafs for fast access to cells relative to current position. More...
|
| Eigen::Vector3i |
getGridCoordinates (float x, float y, float z) const |
| |
Returns the corresponding (i,j,k) coordinates in the grid of point (x,y,z). More...
|
| int |
getCentroidIndexAt (const Eigen::Vector3i &ijk) const |
| |
Returns the index in the downsampled cloud corresponding to a given set of coordinates. More...
|
| void |
setFilterFieldName (const std::string &field_name) |
| |
Provide the name of the field to be used for filtering data. More...
|
| std::string const |
getFilterFieldName () const |
| |
Get the name of the field used for filtering. More...
|
| void |
setFilterLimits (const double &limit_min, const double &limit_max) |
| |
Set the field filter limits. More...
|
| void |
getFilterLimits (double &limit_min, double &limit_max) const |
| |
Get the field filter limits (min/max) set by the user. More...
|
| void |
setFilterLimitsNegative (const bool limit_negative) |
| |
Set to true if we want to return the data outside the interval specified by setFilterLimits (min, max). More...
|
| void |
getFilterLimitsNegative (bool &limit_negative) const |
| |
Get whether the data outside the interval (min/max) is to be returned (true) or inside (false). More...
|
| bool |
getFilterLimitsNegative () const |
| |
Get whether the data outside the interval (min/max) is to be returned (true) or inside (false). More...
|
| |
Filter (bool extract_removed_indices=false) |
| |
Empty constructor. More...
|
|
IndicesConstPtr const |
getRemovedIndices () const |
| |
Get the point indices being removed. More...
|
| void |
getRemovedIndices (PointIndices &pi) |
| |
Get the point indices being removed. More...
|
| void |
filter (PointCloud &output) |
| |
Calls the filtering method and returns the filtered dataset in output. More...
|
| |
PCLBase () |
| |
Empty constructor. More...
|
| |
PCLBase (const PCLBase &base) |
| |
Copy constructor. More...
|
| virtual |
~PCLBase ()=default |
| |
Destructor. More...
|
| virtual void |
setInputCloud (const PointCloudConstPtr &cloud) |
| |
Provide a pointer to the input dataset. More...
|
|
PointCloudConstPtr const |
getInputCloud () const |
| |
Get a pointer to the input point cloud dataset. More...
|
| virtual void |
setIndices (const IndicesPtr &indices) |
| |
Provide a pointer to the vector of indices that represents the input data. More...
|
| virtual void |
setIndices (const IndicesConstPtr &indices) |
| |
Provide a pointer to the vector of indices that represents the input data. More...
|
| virtual void |
setIndices (const PointIndicesConstPtr &indices) |
| |
Provide a pointer to the vector of indices that represents the input data. More...
|
| virtual void |
setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
| |
Set the indices for the points laying within an interest region of the point cloud. More...
|
|
IndicesPtr |
getIndices () |
| |
Get a pointer to the vector of indices used. More...
|
|
IndicesConstPtr const |
getIndices () const |
| |
Get a pointer to the vector of indices used. More...
|
| const PointT & |
operator[] (std::size_t pos) const |
| |
Override PointCloud operator[] to shorten code. More...
|
|
| float |
rayBoxIntersection (const Eigen::Vector4f &origin, const Eigen::Vector4f &direction) |
| |
Returns the scaling value (tmin) were the ray intersects with the voxel grid bounding box. More...
|
| int |
rayTraversal (const Eigen::Vector3i &target_voxel, const Eigen::Vector4f &origin, const Eigen::Vector4f &direction, const float t_min) |
| |
Returns the state of the target voxel (0 = visible, 1 = occupied) using a ray traversal algorithm. More...
|
| 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) |
| |
Returns the state of the target voxel (0 = visible, 1 = occupied) and the voxels penetrated by the ray using a ray traversal algorithm. More...
|
| float |
round (float d) |
| |
Returns a value rounded to the nearest integer. More...
|
| Eigen::Vector3i |
getGridCoordinatesRound (float x, float y, float z) |
| |
Returns the corresponding (i,j,k) coordinates in the grid of point (x,y,z). More...
|
| void |
applyFilter (PointCloud &output) override |
| |
Downsample a Point Cloud using a voxelized grid approach. More...
|
| const std::string & |
getClassName () const |
| |
Get a string representation of the name of this class. More...
|
| bool |
initCompute () |
| |
This method should get called before starting the actual computation. More...
|
| bool |
deinitCompute () |
| |
This method should get called after finishing the actual computation. More...
|
template<typename PointT>
class pcl::VoxelGridOcclusionEstimation< PointT >
VoxelGrid to estimate occluded space in the scene.
The ray traversal algorithm is implemented by the work of 'John Amanatides and Andrew Woo, A Fast Voxel Traversal Algorithm for Ray Tracing' Example code:
pcl::VoxelGridOcclusionEstimation<pcl::PointXYZ> vg;
vg.setInputCloud (input_cloud);
vg.setLeafSize (leaf_x, leaf_y, leaf_z);
vg.initializeVoxelGrid ();
std::vector<Eigen::Vector3i, Eigen::aligned_allocator<Eigen::Vector3i> > occluded_voxels;
vg.occlusionEstimationAll (occluded_voxels);
pcl::PCLBase::setInputCloudvirtual void setInputCloud(const PointCloudConstPtr &cloud)Provide a pointer to the input dataset.Definition: pcl_base.hpp:65
pcl::PCLBase::setInputCloud
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
Definition: pcl_base.hpp:65
pcl::VoxelGrid::setLeafSizevoid setLeafSize(const Eigen::Vector4f &leaf_size)Set the voxel grid leaf size.Definition: voxel_grid.h:247
pcl::VoxelGrid::setLeafSize
void setLeafSize(const Eigen::Vector4f &leaf_size)
Set the voxel grid leaf size.
Definition: voxel_grid.h:247
pcl::VoxelGridOcclusionEstimationVoxelGrid to estimate occluded space in the scene.Definition: voxel_grid_occlusion_estimation.h:64
pcl::VoxelGridOcclusionEstimation
VoxelGrid to estimate occluded space in the scene.
Definition: voxel_grid_occlusion_estimation.h:64
pcl::VoxelGridOcclusionEstimation::initializeVoxelGridvoid initializeVoxelGrid()Initialize the voxel grid, needs to be called first Builts the voxel grid and computes additional val...Definition: voxel_grid_occlusion_estimation.hpp:46
pcl::VoxelGridOcclusionEstimation::initializeVoxelGrid
void initializeVoxelGrid()
Initialize the voxel grid, needs to be called first Builts the voxel grid and computes additional val...
Definition: voxel_grid_occlusion_estimation.hpp:46
pcl::VoxelGridOcclusionEstimation::occlusionEstimationAllint occlusionEstimationAll(std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > &occluded_voxels)Computes the voxel coordinates (i, j, k) of all occluded voxels in the voxel grid.Definition: voxel_grid_occlusion_estimation.hpp:139
pcl::VoxelGridOcclusionEstimation::occlusionEstimationAll
int occlusionEstimationAll(std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > &occluded_voxels)
Computes the voxel coordinates (i, j, k) of all occluded voxels in the voxel grid.
Definition: voxel_grid_occlusion_estimation.hpp:139
- Author
- Christian Potthast
Definition at line 63 of file voxel_grid_occlusion_estimation.h.