Point Cloud Library (PCL)
1.3.1
|
Extract obstacle borders from range images, meaning positions where there is a transition from foreground to background. More...
#include <pcl/features/range_image_border_extractor.h>
Classes | |
struct | LocalSurface |
Stores some information extracted from the neighborhood of a point. More... | |
struct | Parameters |
Parameters used in this class. More... | |
struct | ShadowBorderIndices |
Stores the indices of the shadow border corresponding to obstacle borders. More... | |
Public Types | |
typedef Feature < PointWithRange, BorderDescription > | BaseClass |
typedef boost::shared_ptr < Feature< PointInT, PointOutT > > | Ptr |
typedef boost::shared_ptr < const Feature< PointInT, PointOutT > > | ConstPtr |
typedef pcl::search::Search < PointInT > | KdTree |
typedef pcl::search::Search < PointInT >::Ptr | KdTreePtr |
typedef pcl::PointCloud< PointInT > | PointCloudIn |
typedef PointCloudIn::Ptr | PointCloudInPtr |
typedef PointCloudIn::ConstPtr | PointCloudInConstPtr |
typedef pcl::PointCloud < PointOutT > | PointCloudOut |
typedef boost::function< int(size_t, double, std::vector< int > &, std::vector< float > &)> | SearchMethod |
typedef boost::function< int(const PointCloudIn &cloud, size_t index, double, std::vector < int > &, std::vector< float > &)> | SearchMethodSurface |
Public Member Functions | |
RangeImageBorderExtractor (const RangeImage *range_image=NULL) | |
Constructor. | |
~RangeImageBorderExtractor () | |
Destructor. | |
void | setRangeImage (const RangeImage *range_image) |
Provide a pointer to the range image. | |
void | clearData () |
Erase all data calculated for the current range image. | |
float * | getAnglesImageForBorderDirections () |
Get the 2D directions in the range image from the border directions - probably mainly useful for visualization. | |
float * | getAnglesImageForSurfaceChangeDirections () |
Get the 2D directions in the range image from the surface change directions - probably mainly useful for visualization. | |
void | compute (PointCloudOut &output) |
Overwrite the compute function of the base class. | |
Parameters & | getParameters () |
bool | hasRangeImage () const |
const RangeImage & | getRangeImage () const |
float * | getBorderScoresLeft () |
float * | getBorderScoresRight () |
float * | getBorderScoresTop () |
float * | getBorderScoresBottom () |
LocalSurface ** | getSurfaceStructure () |
PointCloudOut & | getBorderDescriptions () |
ShadowBorderIndices ** | getShadowBorderInformations () |
Eigen::Vector3f ** | getBorderDirections () |
float * | getSurfaceChangeScores () |
Eigen::Vector3f * | getSurfaceChangeDirections () |
void | setSearchSurface (const PointCloudInConstPtr &cloud) |
Provide a pointer to a dataset to add additional information to estimate the features for every point in the input dataset. | |
PointCloudInConstPtr | getSearchSurface () |
Get a pointer to the surface point cloud dataset. | |
void | setSearchMethod (const KdTreePtr &tree) |
Provide a pointer to the search object. | |
KdTreePtr | getSearchMethod () |
Get a pointer to the search method used. | |
double | getSearchParameter () |
Get the internal search parameter. | |
void | setKSearch (int k) |
Set the number of k nearest neighbors to use for the feature estimation. | |
int | getKSearch () |
get the number of k nearest neighbors used for the feature estimation. | |
void | setRadiusSearch (double radius) |
Set the sphere radius that is to be used for determining the nearest neighbors used for the feature estimation. | |
double | getRadiusSearch () |
Get the sphere radius used for determining the neighbors. | |
void | compute (PointCloudOut &output) |
Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod () | |
int | searchForNeighbors (size_t index, double parameter, std::vector< int > &indices, std::vector< float > &distances) const |
Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface. | |
int | searchForNeighbors (const PointCloudIn &cloud, size_t index, double parameter, std::vector< int > &indices, std::vector< float > &distances) const |
Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface. | |
Static Public Member Functions | |
static float | getObstacleBorderAngle (const BorderTraits &border_traits) |
Take the information from BorderTraits to calculate the local direction of the border. |
Extract obstacle borders from range images, meaning positions where there is a transition from foreground to background.
Reimplemented from pcl::Feature< PointWithRange, BorderDescription >.
Definition at line 57 of file range_image_border_extractor.h.
typedef boost::shared_ptr< const Feature<PointInT, PointOutT> > pcl::Feature::ConstPtr [inherited] |
typedef pcl::search::Search<PointInT> pcl::Feature::KdTree [inherited] |
typedef pcl::search::Search<PointInT>::Ptr pcl::Feature::KdTreePtr [inherited] |
typedef pcl::PointCloud<PointInT> pcl::Feature::PointCloudIn [inherited] |
typedef PointCloudIn::ConstPtr pcl::Feature::PointCloudInConstPtr [inherited] |
typedef PointCloudIn::Ptr pcl::Feature::PointCloudInPtr [inherited] |
typedef pcl::PointCloud<PointOutT> pcl::Feature::PointCloudOut [inherited] |
typedef boost::shared_ptr< Feature<PointInT, PointOutT> > pcl::Feature::Ptr [inherited] |
typedef boost::function<int (size_t, double, std::vector<int> &, std::vector<float> &)> pcl::Feature::SearchMethod [inherited] |
typedef boost::function<int (const PointCloudIn &cloud, size_t index, double, std::vector<int> &, std::vector<float> &)> pcl::Feature::SearchMethodSurface [inherited] |
pcl::RangeImageBorderExtractor::RangeImageBorderExtractor | ( | const RangeImage * | range_image = NULL | ) |
Constructor.
pcl::RangeImageBorderExtractor::~RangeImageBorderExtractor | ( | ) |
Destructor.
void pcl::RangeImageBorderExtractor::clearData | ( | ) |
Erase all data calculated for the current range image.
void pcl::RangeImageBorderExtractor::compute | ( | PointCloudOut & | output | ) |
Overwrite the compute function of the base class.
void pcl::Feature::compute | ( | PointCloudOut & | output | ) | [inherited] |
Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()
output | the resultant point cloud model dataset containing the estimated features |
float* pcl::RangeImageBorderExtractor::getAnglesImageForBorderDirections | ( | ) |
Get the 2D directions in the range image from the border directions - probably mainly useful for visualization.
float* pcl::RangeImageBorderExtractor::getAnglesImageForSurfaceChangeDirections | ( | ) |
Get the 2D directions in the range image from the surface change directions - probably mainly useful for visualization.
PointCloudOut& pcl::RangeImageBorderExtractor::getBorderDescriptions | ( | ) | [inline] |
Definition at line 157 of file range_image_border_extractor.h.
Eigen::Vector3f** pcl::RangeImageBorderExtractor::getBorderDirections | ( | ) | [inline] |
Definition at line 163 of file range_image_border_extractor.h.
float* pcl::RangeImageBorderExtractor::getBorderScoresBottom | ( | ) | [inline] |
Definition at line 151 of file range_image_border_extractor.h.
float* pcl::RangeImageBorderExtractor::getBorderScoresLeft | ( | ) | [inline] |
Definition at line 142 of file range_image_border_extractor.h.
float* pcl::RangeImageBorderExtractor::getBorderScoresRight | ( | ) | [inline] |
Definition at line 145 of file range_image_border_extractor.h.
float* pcl::RangeImageBorderExtractor::getBorderScoresTop | ( | ) | [inline] |
Definition at line 148 of file range_image_border_extractor.h.
int pcl::Feature::getKSearch | ( | ) | [inline, inherited] |
float pcl::RangeImageBorderExtractor::getObstacleBorderAngle | ( | const BorderTraits & | border_traits | ) | [inline, static] |
Take the information from BorderTraits to calculate the local direction of the border.
border_traits | contains the information needed to calculate the border angle |
Definition at line 42 of file range_image_border_extractor.hpp.
Parameters& pcl::RangeImageBorderExtractor::getParameters | ( | ) | [inline] |
Definition at line 133 of file range_image_border_extractor.h.
double pcl::Feature::getRadiusSearch | ( | ) | [inline, inherited] |
const RangeImage& pcl::RangeImageBorderExtractor::getRangeImage | ( | ) | const [inline] |
Definition at line 139 of file range_image_border_extractor.h.
KdTreePtr pcl::Feature::getSearchMethod | ( | ) | [inline, inherited] |
double pcl::Feature::getSearchParameter | ( | ) | [inline, inherited] |
PointCloudInConstPtr pcl::Feature::getSearchSurface | ( | ) | [inline, inherited] |
ShadowBorderIndices** pcl::RangeImageBorderExtractor::getShadowBorderInformations | ( | ) | [inline] |
Definition at line 160 of file range_image_border_extractor.h.
Eigen::Vector3f* pcl::RangeImageBorderExtractor::getSurfaceChangeDirections | ( | ) | [inline] |
Definition at line 169 of file range_image_border_extractor.h.
float* pcl::RangeImageBorderExtractor::getSurfaceChangeScores | ( | ) | [inline] |
Definition at line 166 of file range_image_border_extractor.h.
LocalSurface** pcl::RangeImageBorderExtractor::getSurfaceStructure | ( | ) | [inline] |
Definition at line 154 of file range_image_border_extractor.h.
bool pcl::RangeImageBorderExtractor::hasRangeImage | ( | ) | const [inline] |
Definition at line 136 of file range_image_border_extractor.h.
int pcl::Feature::searchForNeighbors | ( | size_t | index, |
double | parameter, | ||
std::vector< int > & | indices, | ||
std::vector< float > & | distances | ||
) | const [inline, inherited] |
Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface.
index | the index of the query point |
parameter | the search parameter (either k or radius) |
indices | the resultant vector of indices representing the k-nearest neighbors |
distances | the resultant vector of distances representing the distances from the query point to the k-nearest neighbors |
int pcl::Feature::searchForNeighbors | ( | const PointCloudIn & | cloud, |
size_t | index, | ||
double | parameter, | ||
std::vector< int > & | indices, | ||
std::vector< float > & | distances | ||
) | const [inline, inherited] |
Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface.
cloud | the query point cloud |
index | the index of the query point in cloud |
parameter | the search parameter (either k or radius) |
indices | the resultant vector of indices representing the k-nearest neighbors |
distances | the resultant vector of distances representing the distances from the query point to the k-nearest neighbors |
void pcl::Feature::setKSearch | ( | int | k | ) | [inline, inherited] |
void pcl::Feature::setRadiusSearch | ( | double | radius | ) | [inline, inherited] |
void pcl::RangeImageBorderExtractor::setRangeImage | ( | const RangeImage * | range_image | ) |
Provide a pointer to the range image.
range_image | a pointer to the range_image |
void pcl::Feature::setSearchMethod | ( | const KdTreePtr & | tree | ) | [inline, inherited] |
void pcl::Feature::setSearchSurface | ( | const PointCloudInConstPtr & | cloud | ) | [inline, inherited] |
Provide a pointer to a dataset to add additional information to estimate the features for every point in the input dataset.
This is optional, if this is not set, it will only use the data in the input cloud to estimate the features. This is useful when you only need to compute the features for a downsampled cloud.
cloud | a pointer to a PointCloud message |