Public Member Functions | Private Member Functions | Private Attributes
fovis::IntensityDescriptorExtractor Class Reference

Extracts mean-normalized intensity patch around a pixel. More...

#include <intensity_descriptor.hpp>

List of all members.

Public Member Functions

const int * getDescriptorIndexOffsets () const
int getDescriptorLength () const
int getDescriptorStride () const
 IntensityDescriptorExtractor (int raw_gray_stride, int feature_window_size)
void populateDescriptorAligned (uint8_t *image, int x, int y, uint8_t *descriptor) const
void populateDescriptorInterp (uint8_t *image, float x, float y, uint8_t *descriptor) const
void populateDescriptorsAligned (uint8_t *image, const KeypointData *keypoints, int num_keypoints, uint8_t *descriptors) const
void populateDescriptorsInterp (uint8_t *image, const KeypointData *keypoints, int num_keypoints, uint8_t *descriptors) const
virtual ~IntensityDescriptorExtractor ()

Private Member Functions

void initialize ()
 IntensityDescriptorExtractor (const IntensityDescriptorExtractor &other)
void normalizeDescriptor (uint8_t *desc) const
IntensityDescriptorExtractoroperator= (const IntensityDescriptorExtractor &other)

Private Attributes

int _brightess_offset_num_sse_ops
uint8_t * _descriptor_brightness_offset
int * _descriptor_index_offsets
int _descriptor_len
int _descriptor_stride
int _feature_window_size
int _num_descriptor_pad_bytes
int _raw_gray_stride

Detailed Description

Extracts mean-normalized intensity patch around a pixel.

Definition at line 17 of file intensity_descriptor.hpp.


Constructor & Destructor Documentation

fovis::IntensityDescriptorExtractor::IntensityDescriptorExtractor ( int  raw_gray_stride,
int  feature_window_size 
) [inline]
Parameters:
raw_gray_stridespecifies the number of bytes separating each row of the input image.
feature_window_sizethe size of the descriptor window.

Definition at line 24 of file intensity_descriptor.hpp.

Definition at line 30 of file intensity_descriptor.hpp.


Member Function Documentation

Returns:
an array of offset indices indicating the image offset of each descriptor pixel from the descriptor center pixel.

Definition at line 95 of file intensity_descriptor.hpp.

Returns:
the number of useful bytes in each descriptor.

Definition at line 102 of file intensity_descriptor.hpp.

Returns:
the number of bytes that should separate descriptors in a vector of keypoint descriptors. This is usually a multiple of 16 so that each descriptor is 16-byte aligned.

Definition at line 87 of file intensity_descriptor.hpp.

Definition at line 26 of file intensity_descriptor.cpp.

void fovis::IntensityDescriptorExtractor::normalizeDescriptor ( uint8_t *  desc) const [private]

Definition at line 111 of file intensity_descriptor.cpp.

IntensityDescriptorExtractor& fovis::IntensityDescriptorExtractor::operator= ( const IntensityDescriptorExtractor other) [private]
void fovis::IntensityDescriptorExtractor::populateDescriptorAligned ( uint8_t *  image,
int  x,
int  y,
uint8_t *  descriptor 
) const

Computes a single descriptor. Assumes that the output parameter descriptor is 16-byte aligned.

Definition at line 92 of file intensity_descriptor.cpp.

void fovis::IntensityDescriptorExtractor::populateDescriptorInterp ( uint8_t *  image,
float  x,
float  y,
uint8_t *  descriptor 
) const

Computes a single descriptor using bilinear interpolation at every point on the descriptor. This performs 4 floating point multiplications for every pixel in the descriptor.

Assumes that the output parameter is 16-byte aligned.

Definition at line 61 of file intensity_descriptor.cpp.

void fovis::IntensityDescriptorExtractor::populateDescriptorsAligned ( uint8_t *  image,
const KeypointData keypoints,
int  num_keypoints,
uint8_t *  descriptors 
) const

Compute many descriptors.

Parameters:
imageinput image used for descriptor computation.
keypointskeypoints for descriptor computation.
num_keypointsthe number of keypoints.
descriptorsMust be 16-byte aligned and pre-allocated to num_keypoints * 16 * getDescriptorStride() bytes.

Definition at line 158 of file intensity_descriptor.cpp.

void fovis::IntensityDescriptorExtractor::populateDescriptorsInterp ( uint8_t *  image,
const KeypointData keypoints,
int  num_keypoints,
uint8_t *  descriptors 
) const

Compute many descriptors using bilinear interpolation.

Parameters:
imageinput image used for descriptor computation.
keypointskeypoints for descriptor computation.
num_keypointsthe number of keypoints.
descriptorsMust be 16-byte aligned and pre-allocated to num_keypoints * 16 * getDescriptorStride() bytes.

Definition at line 144 of file intensity_descriptor.cpp.


Member Data Documentation

Definition at line 117 of file intensity_descriptor.hpp.

Definition at line 116 of file intensity_descriptor.hpp.

Definition at line 122 of file intensity_descriptor.hpp.

Definition at line 119 of file intensity_descriptor.hpp.

Definition at line 121 of file intensity_descriptor.hpp.

Definition at line 120 of file intensity_descriptor.hpp.

Definition at line 115 of file intensity_descriptor.hpp.

Definition at line 113 of file intensity_descriptor.hpp.


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


libfovis
Author(s): Albert Huang, Maurice Fallon
autogenerated on Thu Jun 6 2019 20:16:12