Nearest Neighbour. More...

Functions

AFAPI void nearestNeighbour (array &idx, array &dist, const array &query, const array &train, const dim_t dist_dim=0, const unsigned n_dist=1, const af_match_type dist_type=AF_SSD)
 C++ Interface wrapper for Nearest Neighbour. More...
 
AFAPI af_err af_nearest_neighbour (af_array *idx, af_array *dist, const af_array query, const af_array train, const dim_t dist_dim, const unsigned n_dist, const af_match_type dist_type)
 C Interface wrapper for Nearest Neighbour. More...
 

Detailed Description

Nearest Neighbour.

Calculates nearest distances between two 2-dimensional arrays containing features based on the type of distance computation chosen. Currently, AF_SAD (sum of absolute differences), AF_SSD (sum of squared differences) and AF_SHD (hamming distance) are supported. One of the arrays containing the training data and the other the query data. One of the dimensions of the both arrays must be equal among them, identifying the length of each feature. The other dimension indicates the total number of features in each of the training and query arrays. Two 1-dimensional arrays are created as results, one containg the smallest N distances of the query array and another containing the indices of these distances in the training array. The resulting 1-dimensional arrays have length equal to the number of features contained in the query array.


Function Documentation

AFAPI af_err af_nearest_neighbour ( af_array idx,
af_array dist,
const af_array  query,
const af_array  train,
const dim_t  dist_dim,
const unsigned  n_dist,
const af_match_type  dist_type 
)

C Interface wrapper for Nearest Neighbour.

Parameters
[out]idxis an array of MxN size, where M is equal to the number of query features and N is equal to n_dist. The value at position IxJ indicates the index of the Jth smallest distance to the Ith query value in the train data array. the index of the Ith smallest distance of the Mth query.
[out]distis an array of MxN size, where M is equal to the number of query features and N is equal to n_dist. The value at position IxJ indicates the distance of the Jth smallest distance to the Ith query value in the train data array based on the dist_type chosen.
[in]queryis the array containing the data to be queried
[in]trainis the array containing the data used as training data
[in]dist_dimindicates the dimension to analyze for distance (the dimension indicated here must be of equal length for both query and train arrays)
[in]n_distis the number of smallest distances to return (currently, only 1 is supported)
[in]dist_typeis the distance computation type. Currently AF_SAD (sum of absolute differences), AF_SSD (sum of squared differences), and AF_SHD (hamming distances) are supported.
AFAPI void af::nearestNeighbour ( array idx,
array dist,
const array query,
const array train,
const dim_t  dist_dim = 0,
const unsigned  n_dist = 1,
const af_match_type  dist_type = AF_SSD 
)

C++ Interface wrapper for Nearest Neighbour.

Parameters
[out]idxis an array of MxN size, where M is equal to the number of query features and N is equal to n_dist. The value at position IxJ indicates the index of the Jth smallest distance to the Ith query value in the train data array. the index of the Ith smallest distance of the Mth query.
[out]distis an array of MxN size, where M is equal to the number of query features and N is equal to n_dist. The value at position IxJ indicates the distance of the Jth smallest distance to the Ith query value in the train data array based on the dist_type chosen.
[in]queryis the array containing the data to be queried
[in]trainis the array containing the data used as training data
[in]dist_dimindicates the dimension to analyze for distance (the dimension indicated here must be of equal length for both query and train arrays)
[in]n_distis the number of smallest distances to return (currently, only 1 is supported)
[in]dist_typeis the distance computation type. Currently AF_SAD (sum of absolute differences), AF_SSD (sum of squared differences), and AF_SHD (hamming distances) are supported.