vector of the corner of the bounding box with smallest coordinates
vector of the corner of the bounding box with smallest coordinates
metric, must be Euclidean or squareEuclidean
threshold for number of points in each box before slitting a box
Recursively adds an object to the tree
Recursively adds an object to the tree
an object which is added
Prints tree for testing/debugging
Finds all objects within a neighborhood of queryPoint of a specified radius scope is modified from original 2D version in: http://www.cs.trinity.edu/~mlewis/CSCI1321-F11/Code/src/util/Quadtree.scala
Finds all objects within a neighborhood of queryPoint of a specified radius scope is modified from original 2D version in: http://www.cs.trinity.edu/~mlewis/CSCI1321-F11/Code/src/util/Quadtree.scala
original version only looks in minimal box; for the KNN Query, we look at all nearby boxes. The radius is determined from searchNeighborsSiblingQueue by defining a min-heap on the leaf nodes
a point which is center
radius of scope
all points within queryPoint with given radius
Used to zoom in on a region near a test point for a fast KNN query.
Used to zoom in on a region near a test point for a fast KNN query. This capability is used in the KNN query to find k "near" neighbors n_1,...,n_k, from which one computes the max distance D_s to queryPoint. D_s is then used during the kNN query to find all points within a radius D_s of queryPoint using searchNeighbors. To find the "near" neighbors, a min-heap is defined on the leaf nodes of the leaf nodes of the minimal bounding box of the queryPoint. The priority of a leaf node is an appropriate notion of the distance between the test point and the node, which is defined by minDist(queryPoint),
a test point for which the method finds the minimal bounding box that queryPoint lies in and returns elements in that boxes siblings' leaf nodes
n-dimensional QuadTree data structure; partitions spatial data for faster queries (e.g. KNN query) The skeleton of the data structure was initially based off of the 2D Quadtree found here: http://www.cs.trinity.edu/~mlewis/CSCI1321-F11/Code/src/util/Quadtree.scala
Many additional methods were added to the class both for efficient KNN queries and generalizing to n-dim.