public class SmallMemoryKDTree.KDTreeRangeQuery extends AbstractDistanceRangeQuery<O>
Modifier and Type | Field and Description |
---|---|
private Norm<? super O> |
norm
Norm to use.
|
distanceQuery
HINT_BULK, HINT_EXACT, HINT_HEAVY_USE, HINT_NO_CACHE, HINT_OPTIMIZED_ONLY, HINT_SINGLE
Constructor and Description |
---|
KDTreeRangeQuery(DistanceQuery<O> distanceQuery,
Norm<? super O> norm)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
getRangeForObject(O obj,
double range,
ModifiableDoubleDBIDList result)
Get the neighbors for a particular object in a given query range
|
private void |
kdRangeSearch(int left,
int right,
int axis,
O query,
ModifiableDoubleDBIDList res,
DoubleDBIDListIter iter,
double radius)
Perform a kNN search on the kd-tree.
|
getRangeForDBID, getRangeForDBID, getRangeForObject, getRelation
private Norm<? super O extends NumberVector> norm
public KDTreeRangeQuery(DistanceQuery<O> distanceQuery, Norm<? super O> norm)
distanceQuery
- Distance querynorm
- Norm to usepublic void getRangeForObject(O obj, double range, ModifiableDoubleDBIDList result)
RangeQuery
obj
- Query objectrange
- Query rangeresult
- Neighbors output setprivate void kdRangeSearch(int left, int right, int axis, O query, ModifiableDoubleDBIDList res, DoubleDBIDListIter iter, double radius)
left
- Subtree beginright
- Subtree end (exclusive)axis
- Current splitting axisquery
- Query objectres
- kNN heapiter
- Iterator variable (reduces memory footprint!)radius
- Query radiusCopyright © 2019 ELKI Development Team. License information.