pcl::keypoints::agast::AbstractAgastDetector Class Referenceabstract
Module keypoints

Abstract detector class for AGAST corner point detectors. More...

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

Inheritance diagram for pcl::keypoints::agast::AbstractAgastDetector:

## Classes

struct | CompareScoreIndex
| Score index comparator. More...
struct | ScoreIndex
| Structure holding an index and the associated keypoint score. More...

## Public Types

using | Ptr = shared_ptr< AbstractAgastDetector >
using | ConstPtr = shared_ptr< const AbstractAgastDetector >

## Public Member Functions

| AbstractAgastDetector (const std::size_t width, const std::size_t height, const double threshold, const double bmax)
| Constructor. More...
virtual | ~AbstractAgastDetector ()
| Destructor. More...
void | detectKeypoints (const std::vector< unsigned char > &intensity_data, pcl::PointCloud< pcl::PointUV > &output)
| Detects corner points. More...
void | detectKeypoints (const std::vector< float > &intensity_data, pcl::PointCloud< pcl::PointUV > &output)
| Detects corner points. More...
void | applyNonMaxSuppression (const std::vector< unsigned char > &intensity_data, const pcl::PointCloud< pcl::PointUV > &input, pcl::PointCloud< pcl::PointUV > &output)
| Applies non-max-suppression. More...
void | applyNonMaxSuppression (const std::vector< float > &intensity_data, const pcl::PointCloud< pcl::PointUV > &input, pcl::PointCloud< pcl::PointUV > &output)
| Applies non-max-suppression. More...
virtual int | computeCornerScore (const unsigned char *im) const =0
| Computes corner score. More...
virtual int | computeCornerScore (const float *im) const =0
| Computes corner score. More...
void | setThreshold (const double threshold)
| Sets the threshold for corner detection. More...
double | getThreshold ()
| Get the threshold for corner detection, as set by the user. More...
void | setMaxKeypoints (const unsigned int nr_max_keypoints)
| Sets the maximum number of keypoints to return. More...
unsigned int | getMaxKeypoints ()
| Get the maximum number of keypoints to return, as set by the user. More...
virtual void | detect (const unsigned char *im, std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > &corners_all) const =0
| Detects points of interest (i.e., keypoints) in the given image. More...
virtual void | detect (const float *im, std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > &) const =0
| Detects points of interest (i.e., keypoints) in the given image. More...

## Protected Member Functions

virtual void | initPattern ()=0
| Initializes the sample pattern. More...
void | applyNonMaxSuppression (const pcl::PointCloud< pcl::PointUV > &input, const std::vector< ScoreIndex > &scores, pcl::PointCloud< pcl::PointUV > &output)
| Non-max-suppression helper method. More...
void | computeCornerScores (const unsigned char *im, const std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > &corners_all, std::vector< ScoreIndex > &scores)
| Computes corner scores for the specified points. More...
void | computeCornerScores (const float *im, const std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > &corners_all, std::vector< ScoreIndex > &scores)
| Computes corner scores for the specified points. More...

## Protected Attributes

std::size_t | width_
| Width of the image to process. More...
std::size_t | height_
| Height of the image to process. More...
double | threshold_
| Threshold for corner detection. More...
unsigned int | nr_max_keypoints_
| The maximum number of keypoints to return. More...
double | bmax_
| Max image value. More...

## Detailed Description

Abstract detector class for AGAST corner point detectors.

Adapted from the C++ implementation of Elmar Mair (http://www6.in.tum.de/Main/ResearchAgast).

Author
  Stefan Holzer

Definition at line 63 of file agast_2d.h.

## Member Typedef Documentation

## ConstPtr

using pcl::keypoints::agast::AbstractAgastDetector::ConstPtr = shared_ptr<const AbstractAgastDetector>

Definition at line 67 of file agast_2d.h.

## Ptr

using pcl::keypoints::agast::AbstractAgastDetector::Ptr = shared_ptr<AbstractAgastDetector>

Definition at line 66 of file agast_2d.h.

## Constructor & Destructor Documentation

## AbstractAgastDetector()

pcl::keypoints::agast::AbstractAgastDetector::AbstractAgastDetector | ( | const std::size_t | width,
|  | const std::size_t | height,
|  | const double | threshold,
|  | const double | bmax
| ) |  |

inline

Constructor.

Parameters

  [in] | width | the width of the image to process
  [in] | height | the height of the image to process
  [in] | threshold | the corner detection threshold
  [in] | bmax | the max image value (default: 255)

Definition at line 75 of file agast_2d.h.

## ~AbstractAgastDetector()

virtual pcl::keypoints::agast::AbstractAgastDetector::~AbstractAgastDetector | ( |  | ) |

inline virtual

Destructor.

Definition at line 87 of file agast_2d.h.

## Member Function Documentation

## applyNonMaxSuppression() [1/3]

void pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression | ( | const pcl::PointCloud< pcl::PointUV > & | input,
|  | const std::vector< ScoreIndex > & | scores,
|  | pcl::PointCloud< pcl::PointUV > & | output
| ) |  |

protected

Non-max-suppression helper method.

Parameters

  [in] | input | the keypoint positions
  [in] | scores | the keypoint scores computed on the image data
  [out] | output | the resultant keypoints after non-max-supression

## applyNonMaxSuppression() [2/3]

void pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression | ( | const std::vector< float > & | intensity_data,
|  | const pcl::PointCloud< pcl::PointUV > & | input,
|  | pcl::PointCloud< pcl::PointUV > & | output
| ) |  |

Applies non-max-suppression.

Parameters

  [in] | intensity_data | the image data
  [in] | input | the keypoint positions
  [out] | output | the resultant keypoints after non-max-supression

## applyNonMaxSuppression() [3/3]

void pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression | ( | const std::vector< unsigned char > & | intensity_data,
|  | const pcl::PointCloud< pcl::PointUV > & | input,
|  | pcl::PointCloud< pcl::PointUV > & | output
| ) |  |

Applies non-max-suppression.

Parameters

  [in] | intensity_data | the image data
  [in] | input | the keypoint positions
  [out] | output | the resultant keypoints after non-max-supression

## computeCornerScore() [1/2]

virtual int pcl::keypoints::agast::AbstractAgastDetector::computeCornerScore | ( | const float * | im | ) | const

pure virtual

Computes corner score.

Parameters

  [in] | im | the pixels to compute the score at

Implemented in pcl::keypoints::agast::OastDetector9_16, pcl::keypoints::agast::AgastDetector5_8, and pcl::keypoints::agast::AgastDetector7_12s.

## computeCornerScore() [2/2]

virtual int pcl::keypoints::agast::AbstractAgastDetector::computeCornerScore | ( | const unsigned char * | im | ) | const

pure virtual

Computes corner score.

Parameters

  [in] | im | the pixels to compute the score at

Implemented in pcl::keypoints::agast::OastDetector9_16, pcl::keypoints::agast::AgastDetector5_8, and pcl::keypoints::agast::AgastDetector7_12s.

## computeCornerScores() [1/2]

void pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores | ( | const float * | im,
|  | const std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > & | corners_all,
|  | std::vector< ScoreIndex > & | scores
| ) |  |

protected

Computes corner scores for the specified points.

Parameters

  im |
  corners_all |
  scores |

## computeCornerScores() [2/2]

void pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores | ( | const unsigned char * | im,
|  | const std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > & | corners_all,
|  | std::vector< ScoreIndex > & | scores
| ) |  |

protected

Computes corner scores for the specified points.

Parameters

  im |
  corners_all |
  scores |

## detect() [1/2]

virtual void pcl::keypoints::agast::AbstractAgastDetector::detect | ( | const float * | im,
|  | std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > & |
| ) |  | const

pure virtual

Detects points of interest (i.e., keypoints) in the given image.

Parameters

  [in] | im | the image to detect keypoints in

Implemented in pcl::keypoints::agast::OastDetector9_16, pcl::keypoints::agast::AgastDetector5_8, and pcl::keypoints::agast::AgastDetector7_12s.

## detect() [2/2]

virtual void pcl::keypoints::agast::AbstractAgastDetector::detect | ( | const unsigned char * | im,
|  | std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > & | corners_all
| ) |  | const

pure virtual

Detects points of interest (i.e., keypoints) in the given image.

Parameters

  [in] | im | the image to detect keypoints in
  [out] | corners_all | the resultant set of keypoints detected

Implemented in pcl::keypoints::agast::OastDetector9_16, pcl::keypoints::agast::AgastDetector5_8, and pcl::keypoints::agast::AgastDetector7_12s.

## detectKeypoints() [1/2]

void pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints | ( | const std::vector< float > & | intensity_data,
|  | pcl::PointCloud< pcl::PointUV > & | output
| ) |  |

Detects corner points.

Parameters

  intensity_data |
  output |

## detectKeypoints() [2/2]

void pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints | ( | const std::vector< unsigned char > & | intensity_data,
|  | pcl::PointCloud< pcl::PointUV > & | output
| ) |  |

Detects corner points.

Parameters

  intensity_data |
  output |

## getMaxKeypoints()

unsigned int pcl::keypoints::agast::AbstractAgastDetector::getMaxKeypoints | ( |  | ) |

inline

Get the maximum number of keypoints to return, as set by the user.

Definition at line 165 of file agast_2d.h.

## getThreshold()

double pcl::keypoints::agast::AbstractAgastDetector::getThreshold | ( |  | ) |

inline

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

Definition at line 148 of file agast_2d.h.

## initPattern()

virtual void pcl::keypoints::agast::AbstractAgastDetector::initPattern | ( |  | ) |

protected pure virtual

Initializes the sample pattern.

Implemented in pcl::keypoints::agast::OastDetector9_16, pcl::keypoints::agast::AgastDetector5_8, and pcl::keypoints::agast::AgastDetector7_12s.

## setMaxKeypoints()

void pcl::keypoints::agast::AbstractAgastDetector::setMaxKeypoints | ( | const unsigned int | nr_max_keypoints | ) |

inline

Sets the maximum number of keypoints to return.

The estimated keypoints are sorted by their internal score.

Parameters

  [in] | nr_max_keypoints | set the maximum number of keypoints to return

Definition at line 158 of file agast_2d.h.

## setThreshold()

void pcl::keypoints::agast::AbstractAgastDetector::setThreshold | ( | const double | threshold | ) |

inline

Sets the threshold for corner detection.

Parameters

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

Definition at line 141 of file agast_2d.h.

## Member Data Documentation

## bmax_

double pcl::keypoints::agast::AbstractAgastDetector::bmax_

protected

Max image value.

Definition at line 254 of file agast_2d.h.

## height_

std::size_t pcl::keypoints::agast::AbstractAgastDetector::height_

protected

Height of the image to process.

Definition at line 245 of file agast_2d.h.

## nr_max_keypoints_

unsigned int pcl::keypoints::agast::AbstractAgastDetector::nr_max_keypoints_

protected

The maximum number of keypoints to return.

Definition at line 251 of file agast_2d.h.

## threshold_

double pcl::keypoints::agast::AbstractAgastDetector::threshold_

protected

Threshold for corner detection.

Definition at line 248 of file agast_2d.h.

## width_

std::size_t pcl::keypoints::agast::AbstractAgastDetector::width_

protected

Width of the image to process.

Definition at line 243 of file agast_2d.h.

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

- pcl/keypoints/agast_2d.h