Package org.ddogleg.nn.alg.searches
Class KdTreeSearch1Bbf<P>
java.lang.Object
org.ddogleg.nn.alg.searches.KdTreeSearchBestBinFirst<P>
org.ddogleg.nn.alg.searches.KdTreeSearch1Bbf<P>
- All Implemented Interfaces:
KdTreeSearch1<P>
Implementation of KdTreeSearchBestBinFirst which searches for the single best nearest-neighbor.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.ddogleg.nn.alg.searches.KdTreeSearchBestBinFirst
KdTreeSearchBestBinFirst.Helper -
Field Summary
Fields inherited from class org.ddogleg.nn.alg.searches.KdTreeSearchBestBinFirst
bestDistanceSq, maxNodesSearched, N, numNodesSearched -
Constructor Summary
ConstructorsConstructorDescriptionKdTreeSearch1Bbf(KdTreeDistance<P> distance, int maxNodesSearched) Configures the search -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancanImprove(double distanceSq) Checks to see if it is possible for this distance to improve upon the current bestprotected voidcheckBestDistance(KdTree.Node node, P target) Checks to see if the current node's point is the closet point found so farcopy()Creates a copy of this search with the same configuration.findNeighbor(P target) Searches for the nearest neighbor to the target.doubleReturns the distance of the closest node.voidSpecifies the tree which will be searched.Methods inherited from class org.ddogleg.nn.alg.searches.KdTreeSearchBestBinFirst
_findClosest, addToQueue, searchNode, setMaxDistance, setTree, setTreesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.ddogleg.nn.alg.KdTreeSearch1
setMaxDistance
-
Constructor Details
-
KdTreeSearch1Bbf
Configures the search- Parameters:
maxNodesSearched- Maximum number of nodes it will search. Used to limit CPU time.
-
-
Method Details
-
setTree
Description copied from interface:KdTreeSearch1Specifies the tree which will be searched. The type of object is implementation specific- Specified by:
setTreein interfaceKdTreeSearch1<P>- Parameters:
tree- search tree
-
findNeighbor
Description copied from interface:KdTreeSearch1Searches for the nearest neighbor to the target. If no point is found that is less than maxDistance then return null.- Specified by:
findNeighborin interfaceKdTreeSearch1<P>- Parameters:
target- Point whose nearest neighbor is being searched for- Returns:
- The closest point or null if there is none.
-
getDistance
public double getDistance()Description copied from interface:KdTreeSearch1Returns the distance of the closest node.- Specified by:
getDistancein interfaceKdTreeSearch1<P>- Returns:
- distance to closest node.
-
checkBestDistance
Checks to see if the current node's point is the closet point found so far- Specified by:
checkBestDistancein classKdTreeSearchBestBinFirst<P>
-
canImprove
protected boolean canImprove(double distanceSq) Description copied from class:KdTreeSearchBestBinFirstChecks to see if it is possible for this distance to improve upon the current best- Specified by:
canImprovein classKdTreeSearchBestBinFirst<P>- Parameters:
distanceSq- The distance being considered- Returns:
- true if it can be better or false if not
-
copy
Description copied from interface:KdTreeSearch1Creates a copy of this search with the same configuration. workspace isn't copied- Specified by:
copyin interfaceKdTreeSearch1<P>
-