Functions
Features

Low-level feature-extracting functions. More...

Functions

LocalDescriptorsPtr map_merge_3d::computeLocalDescriptors (const PointCloudConstPtr &points, const SurfaceNormalsPtr &normals, const PointCloudPtr &keypoints, Descriptor descriptor, double feature_radius)
 Compute local feature descriptors around each keypoint. More...
 
SurfaceNormalsPtr map_merge_3d::computeSurfaceNormals (const PointCloudConstPtr &input, double radius)
 Estimate cloud surface normals. More...
 
PointCloudPtr map_merge_3d::detectKeypoints (const PointCloudConstPtr &points, const SurfaceNormalsPtr &normals, Keypoint type, double threshold, double radius, double resolution)
 Detects keypoints in the pointcloud. More...
 
PointCloudPtr map_merge_3d::downSample (const PointCloudConstPtr &input, double resolution)
 Voxelize input pointcloud to reduce number of points. More...
 
DOXYGEN_SKIP map_merge_3d::ENUM_CLASS (Descriptor, DESCRIPTORS_NAMES_)
 
 map_merge_3d::ENUM_CLASS (Keypoint, SIFT, HARRIS)
 
PointCloudPtr map_merge_3d::removeOutliers (const PointCloudConstPtr &input, double radius, int min_neighbours)
 Removes outliers from the pointcloud. More...
 

Detailed Description

Low-level feature-extracting functions.

Low-level functions to extract features from pointclouds and to preprocess pointclouds for feature extraction. These function operate on individual pointcloud.

Function Documentation

◆ computeLocalDescriptors()

LocalDescriptorsPtr map_merge_3d::computeLocalDescriptors ( const PointCloudConstPtr points,
const SurfaceNormalsPtr normals,
const PointCloudPtr keypoints,
Descriptor  descriptor,
double  feature_radius 
)

Compute local feature descriptors around each keypoint.

If descriptors can not be computed to some of the keypoints, those keypoints will be removed from the keypoints cloud. Therefore the keypoints cloud can be also modified.

Parameters
pointsinput pointcloud
normalsinput normals for the cloud
keypointsinput detected keypoints, where descriptors will be computed
descriptordescriptor type to extract
feature_radiussearch radius for descriptors
Returns
cloud of local descriptors

◆ computeSurfaceNormals()

SurfaceNormalsPtr map_merge_3d::computeSurfaceNormals ( const PointCloudConstPtr input,
double  radius 
)

Estimate cloud surface normals.

Parameters
inputinput cloud
radiuslocal neighbourhood size for estimating normals
Returns
cloud of computed normals

◆ detectKeypoints()

PointCloudPtr map_merge_3d::detectKeypoints ( const PointCloudConstPtr points,
const SurfaceNormalsPtr normals,
Keypoint  type,
double  threshold,
double  radius,
double  resolution 
)

Detects keypoints in the pointcloud.

Normals are used only for geometric keypoints (HARRIS). SIFT keypoints requires valid colour information with points.

Parameters
pointsinput pointcloud
normalsnormals for input
typekeypoint type to extract
thresholddetermines how much keypoints to extract (corner measure)
radiusarea used for keypoint detection around each point
resolutionsmallest scale of the scale pyramid if the detector uses one
Returns
pointcloud of keypoints

◆ downSample()

PointCloudPtr map_merge_3d::downSample ( const PointCloudConstPtr input,
double  resolution 
)

Voxelize input pointcloud to reduce number of points.

Parameters
inputinput pointcloud
resolutionrequired resolution for voxelization
Returns
Voxelized pointcloud

◆ ENUM_CLASS() [1/2]

DOXYGEN_SKIP map_merge_3d::ENUM_CLASS ( Descriptor  ,
DESCRIPTORS_NAMES_   
)

◆ ENUM_CLASS() [2/2]

map_merge_3d::ENUM_CLASS ( Keypoint  ,
SIFT  ,
HARRIS   
)

◆ removeOutliers()

PointCloudPtr map_merge_3d::removeOutliers ( const PointCloudConstPtr input,
double  radius,
int  min_neighbours 
)

Removes outliers from the pointcloud.

Outliers with small number of neighbours will be removed.

Parameters
inputinput pointcloud
radiusArea where neighbours will be counted
min_neighboursMinimal number of neighbours for the point to be kept
Returns
filtered pointcloud


map_merge_3d
Author(s): Jiri Horner
autogenerated on Mon Feb 28 2022 22:47:17