TSTOOL home page | TSTOOL documentation page | TSTOOL installation page | TSTOOL link page

Next: 4.4.3 range_search Up: 4.4 Matlab mex-functions Previous: 4.4.1 nn_prepare

## 4.4.2 nn_search

`nn_search` does exact or approximate k-nearest neighbor queries to one or more query points. These query points can be given explicitly or taken from the data set of points (see below).

Before one can use `nn_search`, one has to call `nn_prepare` to compute the preprocessing information. However, as long as the input point set isn't modified, the preprocessing information is valid and can be re-used for multiple calls to `nn_search` or `range_search`.

Syntax:

-      [index, distance] = nn_search(pointset, atria, query_points, k)

-      [index, distance] = nn_search(pointset, atria, query_points, k, epsilon)

-      [index, distance] = nn_search(pointset, atria, query_indices, k, exclude)

-     [index, distance] = nn_search(pointset, atria, query_indices, k,
                                    exclude, epsilon)

Input arguments:

- pointset - a N by D double matrix containing the coordinates of the point set, organized as N points of dimension D
- atria - output of nn_prepare for pointset
- query_points - a R by D double matrix containing the coordinates of the query points, organized as R points of dimension D
- query_indices - query points are taken out of the pointset, query_indices is a vector of length R which contains the indices of the query points (indices may vary from 1 to N)
- k - number of nearest neighbors to compute
- epsilon - (optional) relative error for approximate nearest neighbors queries, defaults to 0 (= exact search)
- exclude - in case the query points are taken out of the pointset, exclude specifies a range of indices which are omitted from search. For example if the index of the query point is 124 and exclude is set to 3, points with indices 121 to 127 are omitted from search. Using exclude = 0 means: exclude self-matches

Output arguments:

- index - a matrix of size R by k which contains the indices of the nearest neighbors. Each row of `index` contains k indices of the nearest neighbors to the corresponding query point.
- distance - a matrix of size R by k which contains the distances of the nearest neighbors to the corresponding query points, sorted in increasing order.

Next: 4.4.3 range_search Up: 4.4 Matlab mex-functions Previous: 4.4.1 nn_prepare Contents