TI Autonomous Driving Algorithms (TIADALG) Library User Guide
tiadalg_select_top_feature.h File Reference

This file defines the interface for multiple element descriptor matching. More...

#include <stdint.h>

Go to the source code of this file.

Functions

int32_t tiadalg_select_top_feature_cn (void *desc_a_list, void *desc_b_list, int32_t data_type, uint16_t *desc_a_list_offset, int32_t desc_size, int32_t num_desc_a, int32_t num_desc_b, int32_t num_top, uint16_t *top_a_indx, uint16_t *top_b_indx, uint32_t *scartch1, uint16_t *scratch2, uint16_t *scratch3, uint32_t *scratch4)
 It does 2 way matching of unsigned 16 or 8 bit descriptors to find top matches. API is tested for KAZE descriptor, however it is not limited to KAZE. Matching happens between two sets/lists of descriptors. Length of each descriptor is configurable. More...
 
int32_t tiadalg_feature_matching_u08_c66 (uint8_t *desc_a, uint8_t *desc_b_list, int32_t desc_size, int32_t num_desc_b, uint32_t *desc_score)
 It does unsigned 8 bit descriptor cost computation with other list of discriptors. More...
 
int32_t tiadalg_feature_matching_u08_cn (uint8_t *desc_a, uint8_t *desc_b_list, int32_t desc_size, int32_t num_desc_b, uint32_t *desc_score)
 It does unsigned 8 bit descriptor cost computation with other list of descriptors. More...
 
int32_t tiadalg_feature_matching_u16_c66 (uint16_t *desc_a, uint16_t *desc_b_list, int32_t desc_size, int32_t num_desc_b, uint32_t *desc_score)
 It does unsigned 16 bit descriptor cost computation with other list of descriptors. More...
 
int32_t tiadalg_feature_matching_u16_cn (uint16_t *desc_a, uint16_t *desc_b_list, int32_t desc_size, int32_t num_desc_b, uint32_t *desc_score)
 It does unsigned 16 bit descriptor cost computation with other list of descriptors. More...
 
int32_t tiadalg_select_top_feature_c66 (void *restrict desc_a_list, void *restrict desc_b_list, int32_t data_type, uint16_t *restrict desc_a_list_offset, int32_t desc_size, int32_t num_desc_a, int32_t num_desc_b, int32_t num_top, uint16_t *restrict top_a_indx, uint16_t *restrict top_b_indx, uint32_t *restrict scartch1, uint16_t *restrict scratch2, uint16_t *restrict scratch3, uint32_t *restrict scratch4)
 It does 2 way matching of unsigned 16 or 8 bit descriptors to find top matches. API is tested for KAZE descriptor, however it is not limited to KAZE. Matching happens between two sets/lists of descriptors. Length of each descriptor is configurable. More...
 

Detailed Description

This file defines the interface for multiple element descriptor matching.

Function Documentation

◆ tiadalg_select_top_feature_cn()

int32_t tiadalg_select_top_feature_cn ( void *  desc_a_list,
void *  desc_b_list,
int32_t  data_type,
uint16_t *  desc_a_list_offset,
int32_t  desc_size,
int32_t  num_desc_a,
int32_t  num_desc_b,
int32_t  num_top,
uint16_t *  top_a_indx,
uint16_t *  top_b_indx,
uint32_t *  scartch1,
uint16_t *  scratch2,
uint16_t *  scratch3,
uint32_t *  scratch4 
)

It does 2 way matching of unsigned 16 or 8 bit descriptors to find top matches. API is tested for KAZE descriptor, however it is not limited to KAZE. Matching happens between two sets/lists of descriptors. Length of each descriptor is configurable.

tiadalg_select_top_feature_cn

Parameters
desc_a_list[in] : List 'A' of discriptors in linear memory
desc_b_list[in] : List 'B' of discriptors in linear memory
data_type[in] : data type of descriptor. 0 vlaue indicates unsigned 8 bit, otherwise unsigned 16 bit
desc_a_list_offset[in] : Indices of descriptors in list 'A' to be considered for matching
desc_size[in] : Number of uint16/uint8 elements in one descriptor as per data type
num_desc_a[in] : Total number of descriptors in list 'A'
num_desc_b[in] : Total number of descriptors in list 'B'
num_top[in] : Total top matches to be found
top_a_indx[out] : List of indices of top matched descriptors in list 'A'
top_b_indx[out] : List of indices of top matched descriptors in list 'B'
scartch1[in] : Scratch memory needed by API of size 4* num_desc_b
scratch2[in] : Scratch memory needed by API of size 2* num_desc_a
scratch3[in] : Scratch memory needed by API of size 2* num_desc_b
scratch4[in] : Scratch memory needed by API of size 4* num_desc_b
Note
  • API returns total number of matches. It should be less than or equal to num_top
  • Valid entries in top_a_indx top_b_indx is equal to total number of matches
  • i th match is the top_a_indx [i] th descriptor from list 'A' and top_b_indx [i] th descriptor from list 'B'

◆ tiadalg_feature_matching_u08_c66()

int32_t tiadalg_feature_matching_u08_c66 ( uint8_t *  desc_a,
uint8_t *  desc_b_list,
int32_t  desc_size,
int32_t  num_desc_b,
uint32_t *  desc_score 
)

It does unsigned 8 bit descriptor cost computation with other list of discriptors.

tiadalg_feature_matching_u08_c66

Parameters
desc_a[in] : A given descriptor
desc_b_list[in] : List of other discriptors in linear memory
desc_size[in] : Number of uint8 elements in one descriptor
num_desc_b[in] : Total number of descriptors in list desc_b_list
desc_score[in] : Matching score for given descriptor with all descriptor in desc_b_list
Note
  • Not implemented in this version

◆ tiadalg_feature_matching_u08_cn()

int32_t tiadalg_feature_matching_u08_cn ( uint8_t *  desc_a,
uint8_t *  desc_b_list,
int32_t  desc_size,
int32_t  num_desc_b,
uint32_t *  desc_score 
)

It does unsigned 8 bit descriptor cost computation with other list of descriptors.

tiadalg_feature_matching_u08_cn

Parameters
desc_a[in] : A given descriptor
desc_b_list[in] : List of other discriptors in linear memory
desc_size[in] : Number of uint8 elements in one descriptor
num_desc_b[in] : Total number of descriptors in list desc_b_list
desc_score[in] : Matching score for given descriptor with all descriptor in desc_b_list
Note
  • Not implemented in this version

◆ tiadalg_feature_matching_u16_c66()

int32_t tiadalg_feature_matching_u16_c66 ( uint16_t *  desc_a,
uint16_t *  desc_b_list,
int32_t  desc_size,
int32_t  num_desc_b,
uint32_t *  desc_score 
)

It does unsigned 16 bit descriptor cost computation with other list of descriptors.

tiadalg_feature_matching_u16_c66

Parameters
desc_a[in] : A given descriptor
desc_b_list[in] : List of other discriptors in linear memory
desc_size[in] : Number of uint16 elements in one descriptor
num_desc_b[in] : Total number of descriptors in list desc_b_list
desc_score[in] : Matching score for given descriptor with all descriptor in desc_b_list
Note
  • Not implemented in this version

◆ tiadalg_feature_matching_u16_cn()

int32_t tiadalg_feature_matching_u16_cn ( uint16_t *  desc_a,
uint16_t *  desc_b_list,
int32_t  desc_size,
int32_t  num_desc_b,
uint32_t *  desc_score 
)

It does unsigned 16 bit descriptor cost computation with other list of descriptors.

tiadalg_feature_matching_U16_cn

Parameters
desc_a[in] : A given descriptor
desc_b_list[in] : List of other discriptors in linear memory
desc_size[in] : Number of uint16 elements in one descriptor
num_desc_b[in] : Total number of descriptors in list desc_b_list
desc_score[in] : Matching score for given descriptor with all descriptor in desc_b_list
Note
  • Not implemented in this version

◆ tiadalg_select_top_feature_c66()

int32_t tiadalg_select_top_feature_c66 ( void *restrict  desc_a_list,
void *restrict  desc_b_list,
int32_t  data_type,
uint16_t *restrict  desc_a_list_offset,
int32_t  desc_size,
int32_t  num_desc_a,
int32_t  num_desc_b,
int32_t  num_top,
uint16_t *restrict  top_a_indx,
uint16_t *restrict  top_b_indx,
uint32_t *restrict  scartch1,
uint16_t *restrict  scratch2,
uint16_t *restrict  scratch3,
uint32_t *restrict  scratch4 
)

It does 2 way matching of unsigned 16 or 8 bit descriptors to find top matches. API is tested for KAZE descriptor, however it is not limited to KAZE. Matching happens between two sets/lists of descriptors. Length of each descriptor is configurable.

tiadalg_select_top_feature_c66

Parameters
desc_a_list[in] : List 'A' of discriptors in linear memory
desc_b_list[in] : List 'B' of discriptors in linear memory
data_type[in] : data type of descriptor. 0 vlaue indicates unsigned 8 bit, otherwise unsigned 16 bit
desc_a_list_offset[in] : Indices of descriptors in list 'A' to be considered for matching
desc_size[in] : Number of uint16/uint8 elements in one descriptor as per data type
num_desc_a[in] : Total number of descriptors in list 'A'
num_desc_b[in] : Total number of descriptors in list 'B'
num_top[in] : Total top matches to be found
top_a_indx[out] : List of indices of top matched descriptors in list 'A'
top_b_indx[out] : List of indices of top matched descriptors in list 'B'
scartch1[in] : Scratch memory needed by API of size 4* num_desc_b
scratch2[in] : Scratch memory needed by API of size 2* num_desc_a
scratch3[in] : Scratch memory needed by API of size 2* num_desc_b
scratch4[in] : Scratch memory needed by API of size 4* num_desc_b
Note
  • API returns total number of matches. It should be less than or equal to num_top
  • Valid entries in top_a_indx top_b_indx is equal to total number of matches
  • i th match is the top_a_indx [i] th descriptor from list 'A' and top_b_indx [i] th descriptor from list 'B'

© Copyright 2018 Texas Instruments Incorporated. All rights reserved.
Document generated by doxygen 1.8.6