pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT > Class Template Reference
Module features

Implementation of the BRISK-descriptor, based on the original code and paper reference by. More...

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

## Public Types

typedef boost::shared_ptr< BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT > > | Ptr
typedef boost::shared_ptr< const BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT > > | ConstPtr
typedef pcl::PointCloud< PointInT > | PointCloudInT
typedef pcl::PointCloud< PointInT >::ConstPtr | PointCloudInTConstPtr
typedef pcl::PointCloud< KeypointT > | KeypointPointCloudT
typedef pcl::PointCloud< KeypointT >::Ptr | KeypointPointCloudTPtr
typedef pcl::PointCloud< KeypointT >::ConstPtr | KeypointPointCloudTConstPtr
typedef pcl::PointCloud< PointOutT > | PointCloudOutT

## Public Member Functions

| BRISK2DEstimation ()
| Constructor. More...
virtual | ~BRISK2DEstimation ()
| Destructor. More...
void | setRotationInvariance (const bool enable)
| Determines whether rotation invariance is enabled. More...
void | setScaleInvariance (const bool enable)
| Determines whether scale invariance is enabled. More...
void | setInputCloud (const PointCloudInTConstPtr &cloud)
| Sets the input cloud. More...
void | setKeypoints (const KeypointPointCloudTPtr &keypoints)
| Sets the input keypoints. More...
void | compute (PointCloudOutT &output)
| Computes the descriptors for the previously specified points and input data. More...

## Protected Member Functions

void | generateKernel (std::vector< float > &radius_list, std::vector< int > &number_list, float d_max=5.85f, float d_min=8.2f, std::vector< int > index_change=std::vector< int >())
| Call this to generate the kernel: circle of radius r (pixels), with n points; short pairings with dMax, long pairings with dMin. More...
int | smoothedIntensity (const std::vector< unsigned char > &image, int image_width, int image_height, const std::vector< int > &integral_image, const float key_x, const float key_y, const unsigned int scale, const unsigned int rot, const unsigned int point) const
| Compute the smoothed intensity for a given x/y position in the image. More...

## Detailed Description

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

Implementation of the BRISK-descriptor, 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).

Warning
  The input keypoints cloud is not const, and it will be modified: keypoints for which descriptors can not be computed will be deleted from the cloud.

Author
  Radu B. Rusu, Stefan Holzer

Definition at line 68 of file brisk_2d.h.

## Member Typedef Documentation

## ConstPtr

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

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

Definition at line 72 of file brisk_2d.h.

## KeypointPointCloudT

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

typedef pcl::PointCloud<KeypointT> pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::KeypointPointCloudT

Definition at line 77 of file brisk_2d.h.

## KeypointPointCloudTConstPtr

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

typedef pcl::PointCloud<KeypointT>::ConstPtr pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::KeypointPointCloudTConstPtr

Definition at line 79 of file brisk_2d.h.

## KeypointPointCloudTPtr

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

typedef pcl::PointCloud<KeypointT>::Ptr pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::KeypointPointCloudTPtr

Definition at line 78 of file brisk_2d.h.

## PointCloudInT

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

typedef pcl::PointCloud<PointInT> pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::PointCloudInT

Definition at line 74 of file brisk_2d.h.

## PointCloudInTConstPtr

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

typedef pcl::PointCloud<PointInT>::ConstPtr pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::PointCloudInTConstPtr

Definition at line 75 of file brisk_2d.h.

## PointCloudOutT

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

typedef pcl::PointCloud<PointOutT> pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::PointCloudOutT

Definition at line 81 of file brisk_2d.h.

## Ptr

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

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

Definition at line 71 of file brisk_2d.h.

## Constructor & Destructor Documentation

## BRISK2DEstimation()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >

pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::BRISK2DEstimation | ( |  | ) |

Constructor.

Definition at line 45 of file brisk_2d.hpp.

References pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::generateKernel().

## ~BRISK2DEstimation()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >

pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::~BRISK2DEstimation | ( |  | ) |

virtual

Destructor.

Definition at line 86 of file brisk_2d.hpp.

## Member Function Documentation

## compute()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >

void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::compute | ( | PointCloudOutT & | output | ) |

Computes the descriptors for the previously specified points and input data.

Parameters

  [out] | output | descriptors the destination for the computed descriptors.

Definition at line 447 of file brisk_2d.hpp.

References pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::resize(), pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::smoothedIntensity(), and pcl::PointCloud< PointT >::width.

Referenced by pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setKeypoints().

## generateKernel()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >

void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::generateKernel | ( | std::vector< float > & | radius_list,
|  | std::vector< int > & | number_list,
|  | float | d_max = `5.85f`,
|  | float | d_min = `8.2f`,
|  | std::vector< int > | index_change = `std::vector<int> ()`
| ) |  |

protected

Call this to generate the kernel: circle of radius r (pixels), with n points; short pairings with dMax, long pairings with dMin.

Note
  This should never be called by a regular user. We use a fixed type in PCL (BRISKSignature512) and tampering with the parameters might lead to a different size descriptor which the user needs to accomodate in a new point type.

Definition at line 97 of file brisk_2d.hpp.

Referenced by pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::BRISK2DEstimation(), and pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setKeypoints().

## setInputCloud()

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

void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setInputCloud | ( | const PointCloudInTConstPtr & | cloud | ) |

inline

Sets the input cloud.

Parameters

  [in] | cloud | the input cloud.

Definition at line 111 of file brisk_2d.h.

## setKeypoints()

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

void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setKeypoints | ( | const KeypointPointCloudTPtr & | keypoints | ) |

inline

Sets the input keypoints.

Parameters

  [in] | keypoints | the input cloud containing the keypoints.

Definition at line 120 of file brisk_2d.h.

References pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::compute(), pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::generateKernel(), and pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::smoothedIntensity().

## setRotationInvariance()

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

void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setRotationInvariance | ( | const bool | enable | ) |

inline

Determines whether rotation invariance is enabled.

Parameters

  [in] | enable | determines whether rotation invariance is enabled.

Definition at line 93 of file brisk_2d.h.

## setScaleInvariance()

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

void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setScaleInvariance | ( | const bool | enable | ) |

inline

Determines whether scale invariance is enabled.

Parameters

  [in] | enable | determines whether scale invariance is enabled.

Definition at line 102 of file brisk_2d.h.

## smoothedIntensity()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >

int pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::smoothedIntensity | ( | const std::vector< unsigned char > & | image,
|  | int | image_width,
|  | int | image_height,
|  | const std::vector< int > & | integral_image,
|  | const float | key_x,
|  | const float | key_y,
|  | const unsigned int | scale,
|  | const unsigned int | rot,
|  | const unsigned int | point
| ) |  | const

inline protected

Compute the smoothed intensity for a given x/y position in the image.

Definition at line 219 of file brisk_2d.hpp.

References pcl::B.

Referenced by pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::compute(), and pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setKeypoints().

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

- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/features/include/pcl/features/brisk_2d.h
- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/features/include/pcl/features/impl/brisk_2d.hpp