|
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:
std::vector<Eigen::Vector3i, Eigen::aligned_allocator<Eigen::Vector3i> > occluded_voxels;
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
void setLeafSize(const Eigen::Vector4f &leaf_size)
Set the voxel grid leaf size.
VoxelGrid to estimate occluded space in the scene.
void initializeVoxelGrid()
Initialize the voxel grid, needs to be called first Builts the voxel grid and computes additional val...
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.
- Author
- Christian Potthast
Definition at line 63 of file voxel_grid_occlusion_estimation.h.