de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.query
Class MetricalIndexKNNQuery<O,D extends Distance<D>>
java.lang.Object
de.lmu.ifi.dbs.elki.database.query.AbstractDataBasedQuery<O>
de.lmu.ifi.dbs.elki.database.query.knn.AbstractDistanceKNNQuery<O,D>
de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.query.MetricalIndexKNNQuery<O,D>
- Type Parameters:
O - Object typeD - Distance type
- All Implemented Interfaces:
- DatabaseQuery, KNNQuery<O,D>
public class MetricalIndexKNNQuery<O,D extends Distance<D>>
- extends AbstractDistanceKNNQuery<O,D>
Instance of a KNN query for a particular spatial index.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
index
protected final AbstractMTree<O,D extends Distance<D>,?,?> index
- The index to use
MetricalIndexKNNQuery
public MetricalIndexKNNQuery(AbstractMTree<O,D,?,?> index,
DistanceQuery<O,D> distanceQuery)
- Constructor.
- Parameters:
index - Index to usedistanceQuery - Distance query used
doKNNQuery
protected final void doKNNQuery(O q,
KNNHeap<D> knnList)
- Performs a k-nearest neighbor query for the given FeatureVector with the
given parameter k and the according distance function. The query result is
in ascending order to the distance to the query object.
- Parameters:
q - the id of the query objectknnList - the query result list
getKNNForObject
public List<DistanceResultPair<D>> getKNNForObject(O obj,
int k)
- Description copied from interface:
KNNQuery
- Get the k nearest neighbors for a particular id.
- Specified by:
getKNNForObject in interface KNNQuery<O,D extends Distance<D>>- Specified by:
getKNNForObject in class AbstractDistanceKNNQuery<O,D extends Distance<D>>
- Parameters:
obj - Query objectk - Number of neighbors requested
- Returns:
- neighbors
getKNNForDBID
public List<DistanceResultPair<D>> getKNNForDBID(DBID id,
int k)
- Description copied from interface:
KNNQuery
- Get the k nearest neighbors for a particular id.
- Specified by:
getKNNForDBID in interface KNNQuery<O,D extends Distance<D>>- Specified by:
getKNNForDBID in class AbstractDistanceKNNQuery<O,D extends Distance<D>>
- Parameters:
id - query object IDk - Number of neighbors requested
- Returns:
- neighbors
getKNNForBulkDBIDs
public List<List<DistanceResultPair<D>>> getKNNForBulkDBIDs(ArrayDBIDs ids,
int k)
- Description copied from interface:
KNNQuery
- Bulk query method
- Parameters:
ids - query object IDsk - Number of neighbors requested
- Returns:
- neighbors
getKNNForBulkHeaps
public void getKNNForBulkHeaps(Map<DBID,KNNHeap<D>> heaps)
- Description copied from interface:
KNNQuery
- Bulk query method configured by a map.
Warning: this API is not optimal, and might be removed soon (in fact, it is
used in a single place)
- Parameters:
heaps - Map of heaps to fill.