pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT > Class Template Reference
Module keypoints

Detects BRISK interest points based on the original code and paper reference by. More...

`#include <pcl/keypoints/brisk_2d.h>`

Inheritance diagram for pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >:

## Public Types

typedef boost::shared_ptr< BriskKeypoint2D< PointInT, PointOutT, IntensityT > > | Ptr
typedef boost::shared_ptr< const BriskKeypoint2D< PointInT, PointOutT, IntensityT > > | ConstPtr
typedef Keypoint< PointInT, PointOutT >::PointCloudIn | PointCloudIn
typedef Keypoint< PointInT, PointOutT >::PointCloudOut | PointCloudOut
typedef Keypoint< PointInT, PointOutT >::KdTree | KdTree
typedef PointCloudIn::ConstPtr | PointCloudInConstPtr
Public Types inherited from pcl::Keypoint< PointInT, PointOutT >
typedef boost::shared_ptr< Keypoint< PointInT, PointOutT > > | Ptr
typedef boost::shared_ptr< const Keypoint< PointInT, PointOutT > > | ConstPtr
typedef PCLBase< PointInT > | BaseClass
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(int, double, std::vector< int > &, std::vector< float > &)> | SearchMethod
typedef boost::function< int(const PointCloudIn &cloud, int index, double, std::vector< int > &, std::vector< float > &)> | SearchMethodSurface
Public Types inherited from pcl::PCLBase< PointInT >
typedef pcl::PointCloud< PointInT > | PointCloud
typedef PointCloud::Ptr | PointCloudPtr
typedef PointCloud::ConstPtr | PointCloudConstPtr
typedef boost::shared_ptr< PointIndices > | PointIndicesPtr
typedef boost::shared_ptr< PointIndices const > | PointIndicesConstPtr

## Public Member Functions

| BriskKeypoint2D (int octaves=4, int threshold=60)
| Constructor. More...
virtual | ~BriskKeypoint2D ()
| Destructor. More...
void | setThreshold (const int threshold)
| Sets the threshold for corner detection. More...
size_t | getThreshold ()
| Get the threshold for corner detection, as set by the user. More...
void | setOctaves (const int octaves)
| Set the number of octaves to use. More...
int | getOctaves ()
| Returns the number of octaves used. More...
void | setRemoveInvalid3DKeypoints (bool remove)
| Specify whether we should do a 2nd pass through the list of keypoints found, and remove the ones that do not have a valid 3D (x-y-z) position (i.e., are NaN or Inf). More...
bool | getRemoveInvalid3DKeypoints ()
| Specify whether the keypoints that do not have a valid 3D position are kept (false) or removed (true). More...
void | bilinearInterpolation (const PointCloudInConstPtr &cloud, float x, float y, PointOutT &pt)
Public Member Functions inherited from pcl::Keypoint< PointInT, PointOutT >
| Keypoint ()
void | harrisCorner (ImageType &output, ImageType &input, const float sigma_d, const float sigma_i, const float alpha, const float thresh)
void | hessianBlob (ImageType &output, ImageType &input, const float sigma, bool SCALE)
void | hessianBlob (ImageType &output, ImageType &input, const float start_scale, const float scaling_factor, const int num_scales)
void | imageElementMultiply (ImageType &output, ImageType &input1, ImageType &input2)
| Keypoint ()
| Empty constructor. More...
virtual | ~Keypoint ()
| Empty destructor. More...
virtual void | setSearchSurface (const PointCloudInConstPtr &cloud)
| Provide a pointer to the input dataset that we need to estimate features at every point for. More...
PointCloudInConstPtr | getSearchSurface ()
| Get a pointer to the surface point cloud dataset. More...
void | setSearchMethod (const KdTreePtr &tree)
| Provide a pointer to the search object. More...
KdTreePtr | getSearchMethod ()
| Get a pointer to the search method used. More...
double | getSearchParameter ()
| Get the internal search parameter. More...
void | setKSearch (int k)
| Set the number of k nearest neighbors to use for the feature estimation. More...
int | getKSearch ()
| get the number of k nearest neighbors used for the feature estimation. More...
void | setRadiusSearch (double radius)
| Set the sphere radius that is to be used for determining the nearest neighbors used for the key point detection. More...
double | getRadiusSearch ()
| Get the sphere radius used for determining the neighbors. More...
pcl::PointIndicesConstPtr | getKeypointsIndices ()
void | compute (PointCloudOut &output)
| Base method for key point detection for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod () More...
int | searchForNeighbors (int 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. More...
Public Member Functions inherited from pcl::PCLBase< PointInT >
| PCLBase ()
| Empty constructor. More...
| PCLBase (const PCLBase &base)
| Copy constructor. More...
virtual | ~PCLBase ()
| 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 (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols)
| Set the indices for the points laying within an interest region of the point cloud. More...
IndicesPtr const | 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 PointInT & | operator[] (size_t pos) const
| Override PointCloud operator[] to shorten code. More...

## Protected Member Functions

bool | initCompute ()
| Initializes everything and checks whether input data is fine. More...
void | detectKeypoints (PointCloudOut &output)
| Detects the keypoints. More...
Protected Member Functions inherited from pcl::Keypoint< PointInT, PointOutT >
const std::string & | getClassName () const
| Get a string representation of the name of this class. More...
Protected Member Functions inherited from pcl::PCLBase< PointInT >
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...

## Additional Inherited Members

Protected Attributes inherited from pcl::Keypoint< PointInT, PointOutT >
std::string | name_
| The key point detection method's name. More...
SearchMethod | search_method_
| The search method template for indices. More...
SearchMethodSurface | search_method_surface_
| The search method template for points. More...
PointCloudInConstPtr | surface_
| An input point cloud describing the surface that is to be used for nearest neighbors estimation. More...
KdTreePtr | tree_
| A pointer to the spatial search object. More...
double | search_parameter_
| The actual search parameter (casted from either search_radius_ or k_). More...
double | search_radius_
| The nearest neighbors search radius for each point. More...
int | k_
| The number of K nearest neighbors to use for each point. More...
pcl::PointIndicesPtr | keypoints_indices_
| Indices of the keypoints in the input cloud. More...
Protected Attributes inherited from pcl::PCLBase< PointInT >
PointCloudConstPtr | input_
| The input point cloud dataset. More...
IndicesPtr | indices_
| A pointer to the vector of point indices to use. More...
bool | use_indices_
| Set to true if point indices are used. More...
bool | fake_indices_
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More...

## Detailed Description

### template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
class pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >

Detects BRISK interest points based on the original code and paper reference by.

  Stefan Leutenegger,Margarita Chli and Roland Siegwart, BRISK: Binary Robust Invariant Scalable Keypoints, in Proceedings of the IEEE International Conference on Computer Vision (ICCV2011).

Code example:

pcl::PointCloud<pcl::PointXYZRGBA> cloud;
pcl::BriskKeypoint2D<pcl::PointXYZRGBA> brisk;
brisk.setThreshold (60);
brisk.setOctaves (4);
brisk.setInputCloud (cloud);
PointCloud<pcl::PointWithScale> keypoints;
brisk.compute (keypoints);

Author
  Radu B. Rusu, Stefan Holzer

Definition at line 72 of file brisk_2d.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

typedef boost::shared_ptr<const BriskKeypoint2D<PointInT, PointOutT, IntensityT> > pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::ConstPtr

Definition at line 76 of file brisk_2d.h.

## KdTree

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

typedef Keypoint<PointInT, PointOutT>::KdTree pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::KdTree

Definition at line 80 of file brisk_2d.h.

## PointCloudIn

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

typedef Keypoint<PointInT, PointOutT>::PointCloudIn pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::PointCloudIn

Definition at line 78 of file brisk_2d.h.

## PointCloudInConstPtr

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

typedef PointCloudIn::ConstPtr pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::PointCloudInConstPtr

Definition at line 81 of file brisk_2d.h.

## PointCloudOut

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

typedef Keypoint<PointInT, PointOutT>::PointCloudOut pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::PointCloudOut

Definition at line 79 of file brisk_2d.h.

## Ptr

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

typedef boost::shared_ptr<BriskKeypoint2D<PointInT, PointOutT, IntensityT> > pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::Ptr

Definition at line 75 of file brisk_2d.h.

## Constructor & Destructor Documentation

## BriskKeypoint2D()

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::BriskKeypoint2D | ( | int | octaves = `4`,
|  | int | threshold = `60`
| ) |  |

inline

Constructor.

Definition at line 89 of file brisk_2d.h.

References pcl::Keypoint< PointInT, PointOutT >::k_, and pcl::Keypoint< PointInT, PointOutT >::name_.

## ~BriskKeypoint2D()

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

virtual pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::~BriskKeypoint2D | ( |  | ) |

inline virtual

Destructor.

Definition at line 99 of file brisk_2d.h.

## Member Function Documentation

## bilinearInterpolation()

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

void pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::bilinearInterpolation | ( | const PointCloudInConstPtr & | cloud,
|  | float | x,
|  | float | y,
|  | PointOutT & | pt
| ) |  |

inline

Definition at line 157 of file brisk_2d.h.

References pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::detectKeypoints(), pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::initCompute(), and pcl::isFinite().

## detectKeypoints()

template<typename PointInT , typename PointOutT , typename IntensityT >

void pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::detectKeypoints | ( | PointCloudOut & | output | ) |

protected virtual

Detects the keypoints.

Implements pcl::Keypoint< PointInT, PointOutT >.

Definition at line 66 of file brisk_2d.hpp.

References pcl::keypoints::brisk::ScaleSpace::constructPyramid(), pcl::keypoints::brisk::ScaleSpace::getKeypoints(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::isFinite(), pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::push_back(), pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.

Referenced by pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::bilinearInterpolation().

## getOctaves()

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

int pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::getOctaves | ( |  | ) |

inline

Returns the number of octaves used.

Definition at line 130 of file brisk_2d.h.

## getRemoveInvalid3DKeypoints()

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

bool pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::getRemoveInvalid3DKeypoints | ( |  | ) |

inline

Specify whether the keypoints that do not have a valid 3D position are kept (false) or removed (true).

Definition at line 150 of file brisk_2d.h.

## getThreshold()

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

size_t pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::getThreshold | ( |  | ) |

inline

Get the threshold for corner detection, as set by the user.

Definition at line 114 of file brisk_2d.h.

## initCompute()

template<typename PointInT , typename PointOutT , typename IntensityT >

bool pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::initCompute | ( |  | ) |

protected virtual

Initializes everything and checks whether input data is fine.

Reimplemented from pcl::Keypoint< PointInT, PointOutT >.

Definition at line 47 of file brisk_2d.hpp.

Referenced by pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::bilinearInterpolation().

## setOctaves()

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

void pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::setOctaves | ( | const int | octaves | ) |

inline

Set the number of octaves to use.

Parameters

  [in] | octaves | the number of octaves to use

Definition at line 123 of file brisk_2d.h.

## setRemoveInvalid3DKeypoints()

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

void pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::setRemoveInvalid3DKeypoints | ( | bool | remove | ) |

inline

Specify whether we should do a 2nd pass through the list of keypoints found, and remove the ones that do not have a valid 3D (x-y-z) position (i.e., are NaN or Inf).

Parameters

  [in] | remove | set to true whether we want the invalid 3D keypoints removed

Definition at line 141 of file brisk_2d.h.

## setThreshold()

template<typename PointInT, typename PointOutT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>

void pcl::BriskKeypoint2D< PointInT, PointOutT, IntensityT >::setThreshold | ( | const int | threshold | ) |

inline

Sets the threshold for corner detection.

Parameters

  [in] | threshold | the threshold used for corner detection.

Definition at line 107 of file brisk_2d.h.

The documentation for this class was generated from the following files:

- /build/pcl-OilVEB/pcl-1.8.1+dfsg1/keypoints/include/pcl/keypoints/brisk_2d.h
- /build/pcl-OilVEB/pcl-1.8.1+dfsg1/keypoints/include/pcl/keypoints/impl/brisk_2d.hpp