Package de.lmu.ifi.dbs.elki.database.query

Examples of de.lmu.ifi.dbs.elki.database.query.DoubleDistanceResultPair


        double distance = distanceFunction.doubleMinDist(object, node.getEntry(i));
        tree.distanceCalcs++;
        if(distance <= epsilon) {
          if(node.isLeaf()) {
            LeafEntry entry = (LeafEntry) node.getEntry(i);
            result.add(new DoubleDistanceResultPair(distance, entry.getDBID()));
          }
          else {
            DirectoryEntry entry = (DirectoryEntry) node.getEntry(i);
            pq.add(new DoubleDistanceSearchCandidate(distance, entry.getEntryID()));
          }
View Full Code Here


        for(int i = 0; i < node.getNumEntries(); i++) {
          SpatialEntry entry = node.getEntry(i);
          double distance = distanceFunction.doubleMinDist(entry, object);
          tree.distanceCalcs++;
          if(distance <= maxDist) {
            knnList.add(new DoubleDistanceResultPair(distance, ((LeafEntry) entry).getDBID()));
            maxDist = knnList.getKNNDistance().doubleValue();
          }
        }
      }
      // directory node
View Full Code Here

    KNNHeap<DoubleDistance> kNearestNeighbors = new KNNHeap<DoubleDistance>(knn, new DoubleDistance(Double.POSITIVE_INFINITY));
    for(Iterator<DBID> iter = database.iterDBIDs(); iter.hasNext();) {
      DBID id = iter.next();
      if(!id.equals(queryObject)) {
        double distance = 1.0 / snnInstance.similarity(queryObject, id).doubleValue();
        kNearestNeighbors.add(new DoubleDistanceResultPair(distance, id));
      }
    }
    return kNearestNeighbors.toKNNList();
  }
View Full Code Here

        double distance = distanceFunction.doubleMinDist(object, node.getEntry(i));
        tree.distanceCalcs++;
        if(distance <= epsilon) {
          if(node.isLeaf()) {
            LeafEntry entry = (LeafEntry) node.getEntry(i);
            result.add(new DoubleDistanceResultPair(distance, entry.getDBID()));
          }
          else {
            DirectoryEntry entry = (DirectoryEntry) node.getEntry(i);
            pq.add(new DoubleDistanceSearchCandidate(distance, entry.getEntryID()));
          }
View Full Code Here

      for(int i = 0; i < node.getNumEntries(); i++) {
        SpatialEntry entry = node.getEntry(i);
        double distance = distanceFunction.doubleMinDist(entry, object);
        tree.distanceCalcs++;
        if(distance <= maxDist) {
          knnList.add(new DoubleDistanceResultPair(distance, ((LeafEntry) entry).getDBID()));
          maxDist = knnList.getKNNDistance().doubleValue();
        }
      }
    }
    // directory node
View Full Code Here

    final KNNHeap<DoubleDistance> heap = new KNNHeap<DoubleDistance>(k);
    double max = Double.POSITIVE_INFINITY;
    for(DBID candidateID : relation.iterDBIDs()) {
      final double doubleDistance = rawdist.doubleDistance(obj, relation.get(candidateID));
      if(doubleDistance <= max) {
        heap.add(new DoubleDistanceResultPair(doubleDistance, candidateID));
        // Update cutoff
        if(heap.size() >= heap.getK()) {
          max = ((DoubleDistanceResultPair) heap.peek()).getDoubleDistance();
        }
      }
View Full Code Here

      O candidate = relation.get(candidateID);
      for(int index = 0; index < size; index++) {
        final KNNHeap<DoubleDistance> heap = heaps.get(index);
        double doubleDistance = rawdist.doubleDistance(objs.get(index), candidate);
        if(doubleDistance <= max[index]) {
          heap.add(new DoubleDistanceResultPair(doubleDistance, candidateID));
          if(heap.size() >= heap.getK()) {
            max[index] = ((DoubleDistanceResultPair) heap.peek()).getDoubleDistance();
          }
        }
      }
View Full Code Here

      O qo = relation.get(id);
      List<DistanceResultPair<DoubleDistance>> result = new ArrayList<DistanceResultPair<DoubleDistance>>();
      for(DBID currentID : relation.iterDBIDs()) {
        double doubleDistance = rawdist.doubleDistance(qo, relation.get(currentID));
        if(doubleDistance <= epsilon) {
          result.add(new DoubleDistanceResultPair(doubleDistance, currentID));
        }
      }
      Collections.sort(result);
      return result;
    }
View Full Code Here

      List<DistanceResultPair<DoubleDistance>> result = new ArrayList<DistanceResultPair<DoubleDistance>>();
      for(DBID currentID : relation.iterDBIDs()) {
        double doubleDistance = rawdist.doubleDistance(obj, relation.get(currentID));
        if(doubleDistance <= epsilon) {
          result.add(new DoubleDistanceResultPair(doubleDistance, currentID));
        }
      }
      Collections.sort(result);
      return result;
    }
View Full Code Here

      final SpatialPointLeafEntry s_e = (SpatialPointLeafEntry) ps.getEntry(j);
      DBID s_id = s_e.getDBID();
      for(int i = 0; i < pr.getNumEntries(); i++) {
        final SpatialPointLeafEntry r_e = (SpatialPointLeafEntry) pr.getEntry(i);
        double distance = df.doubleMinDist(s_e, r_e);
        pr_heaps.get(i).add(new DoubleDistanceResultPair(distance, s_id));
        if(pr != ps && ps_heaps != null) {
          ps_heaps.get(j).add(new DoubleDistanceResultPair(distance, r_e.getDBID()));
        }
      }
    }
  }
View Full Code Here

TOP

Related Classes of de.lmu.ifi.dbs.elki.database.query.DoubleDistanceResultPair

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.