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.