Point Cloud Library (PCL)  1.14.1-dev
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::keypoints::brisk::ScaleSpace Class Reference

BRISK Scale Space helper. More...

#include <pcl/keypoints/brisk_2d.h>

+ Collaboration diagram for pcl::keypoints::brisk::ScaleSpace:

Public Member Functions

 ScaleSpace (int octaves=3)
 Constructor. More...
 
 ~ScaleSpace ()
 
void constructPyramid (const std::vector< unsigned char > &image, int width, int height)
 Construct the image pyramids. More...
 
void getKeypoints (const int threshold, std::vector< pcl::PointWithScale, Eigen::aligned_allocator< pcl::PointWithScale > > &keypoints)
 Get the keypoints for the associated image and threshold. More...
 

Protected Member Functions

bool isMax2D (const std::uint8_t layer, const int x_layer, const int y_layer)
 Nonmax suppression. More...
 
float refine1D (const float s_05, const float s0, const float s05, float &max)
 1D (scale axis) refinement: around octave More...
 
float refine1D_1 (const float s_05, const float s0, const float s05, float &max)
 1D (scale axis) refinement: around intra More...
 
float refine1D_2 (const float s_05, const float s0, const float s05, float &max)
 1D (scale axis) refinement: around octave 0 only More...
 
float subpixel2D (const int s_0_0, const int s_0_1, const int s_0_2, const int s_1_0, const int s_1_1, const int s_1_2, const int s_2_0, const int s_2_1, const int s_2_2, float &delta_x, float &delta_y)
 2D maximum refinement More...
 
float refine3D (const std::uint8_t layer, const int x_layer, const int y_layer, float &x, float &y, float &scale, bool &ismax)
 3D maximum refinement centered around (x_layer,y_layer) More...
 
int getScoreAbove (const std::uint8_t layer, const int x_layer, const int y_layer)
 interpolated score access with recalculation when needed More...
 
int getScoreBelow (const std::uint8_t layer, const int x_layer, const int y_layer)
 
float getScoreMaxAbove (const std::uint8_t layer, const int x_layer, const int y_layer, const int threshold, bool &ismax, float &dx, float &dy)
 return the maximum of score patches above or below More...
 
float getScoreMaxBelow (const std::uint8_t layer, const int x_layer, const int y_layer, const int threshold, bool &ismax, float &dx, float &dy)
 

Protected Attributes

std::uint8_t layers_
 
std::vector< pcl::keypoints::brisk::Layerpyramid_
 
std::uint8_t threshold_
 
std::uint8_t safe_threshold_
 
float safety_factor_ {1.0}
 
float basic_size_ {12.0}
 

Detailed Description

BRISK Scale Space helper.

Definition at line 390 of file brisk_2d.h.

Constructor & Destructor Documentation

◆ ScaleSpace()

pcl::keypoints::brisk::ScaleSpace::ScaleSpace ( int  octaves = 3)

Constructor.

Specify the number of octaves.

Parameters
[in]octavesthe number of octaves (default: 3)

◆ ~ScaleSpace()

pcl::keypoints::brisk::ScaleSpace::~ScaleSpace ( )

Member Function Documentation

◆ constructPyramid()

void pcl::keypoints::brisk::ScaleSpace::constructPyramid ( const std::vector< unsigned char > &  image,
int  width,
int  height 
)

Construct the image pyramids.

Parameters
[in]imagethe image to construct pyramids for
[in]widththe image width
[in]heightthe image height

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

◆ getKeypoints()

void pcl::keypoints::brisk::ScaleSpace::getKeypoints ( const int  threshold,
std::vector< pcl::PointWithScale, Eigen::aligned_allocator< pcl::PointWithScale > > &  keypoints 
)

Get the keypoints for the associated image and threshold.

Parameters
[in]thresholdthe threshold for the keypoints
[out]keypointsthe resultant list of keypoints

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

◆ getScoreAbove()

int pcl::keypoints::brisk::ScaleSpace::getScoreAbove ( const std::uint8_t  layer,
const int  x_layer,
const int  y_layer 
)
inlineprotected

interpolated score access with recalculation when needed

◆ getScoreBelow()

int pcl::keypoints::brisk::ScaleSpace::getScoreBelow ( const std::uint8_t  layer,
const int  x_layer,
const int  y_layer 
)
inlineprotected

◆ getScoreMaxAbove()

float pcl::keypoints::brisk::ScaleSpace::getScoreMaxAbove ( const std::uint8_t  layer,
const int  x_layer,
const int  y_layer,
const int  threshold,
bool &  ismax,
float &  dx,
float &  dy 
)
inlineprotected

return the maximum of score patches above or below

◆ getScoreMaxBelow()

float pcl::keypoints::brisk::ScaleSpace::getScoreMaxBelow ( const std::uint8_t  layer,
const int  x_layer,
const int  y_layer,
const int  threshold,
bool &  ismax,
float &  dx,
float &  dy 
)
inlineprotected

◆ isMax2D()

bool pcl::keypoints::brisk::ScaleSpace::isMax2D ( const std::uint8_t  layer,
const int  x_layer,
const int  y_layer 
)
inlineprotected

Nonmax suppression.

◆ refine1D()

float pcl::keypoints::brisk::ScaleSpace::refine1D ( const float  s_05,
const float  s0,
const float  s05,
float &  max 
)
inlineprotected

1D (scale axis) refinement: around octave

◆ refine1D_1()

float pcl::keypoints::brisk::ScaleSpace::refine1D_1 ( const float  s_05,
const float  s0,
const float  s05,
float &  max 
)
inlineprotected

1D (scale axis) refinement: around intra

◆ refine1D_2()

float pcl::keypoints::brisk::ScaleSpace::refine1D_2 ( const float  s_05,
const float  s0,
const float  s05,
float &  max 
)
inlineprotected

1D (scale axis) refinement: around octave 0 only

◆ refine3D()

float pcl::keypoints::brisk::ScaleSpace::refine3D ( const std::uint8_t  layer,
const int  x_layer,
const int  y_layer,
float &  x,
float &  y,
float &  scale,
bool &  ismax 
)
inlineprotected

3D maximum refinement centered around (x_layer,y_layer)

◆ subpixel2D()

float pcl::keypoints::brisk::ScaleSpace::subpixel2D ( const int  s_0_0,
const int  s_0_1,
const int  s_0_2,
const int  s_1_0,
const int  s_1_1,
const int  s_1_2,
const int  s_2_0,
const int  s_2_1,
const int  s_2_2,
float &  delta_x,
float &  delta_y 
)
inlineprotected

2D maximum refinement

Member Data Documentation

◆ basic_size_

float pcl::keypoints::brisk::ScaleSpace::basic_size_ {12.0}
protected

Definition at line 476 of file brisk_2d.h.

◆ layers_

std::uint8_t pcl::keypoints::brisk::ScaleSpace::layers_
protected

Definition at line 467 of file brisk_2d.h.

◆ pyramid_

std::vector<pcl::keypoints::brisk::Layer> pcl::keypoints::brisk::ScaleSpace::pyramid_
protected

Definition at line 468 of file brisk_2d.h.

◆ safe_threshold_

std::uint8_t pcl::keypoints::brisk::ScaleSpace::safe_threshold_
protected

Definition at line 472 of file brisk_2d.h.

◆ safety_factor_

float pcl::keypoints::brisk::ScaleSpace::safety_factor_ {1.0}
protected

Definition at line 475 of file brisk_2d.h.

◆ threshold_

std::uint8_t pcl::keypoints::brisk::ScaleSpace::threshold_
protected

Definition at line 471 of file brisk_2d.h.


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