From 404d15c6ba563bffff2756eb973655f60c51f9ad Mon Sep 17 00:00:00 2001 From: James Ketrenos Date: Mon, 16 Jan 2023 20:07:22 -0800 Subject: [PATCH] Change S so it only gets updated at the end of the neighbor search Signed-off-by: James Ketrenos --- ketrface/ketrface/dbscan.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ketrface/ketrface/dbscan.py b/ketrface/ketrface/dbscan.py index 2aa487d..ab0ba95 100644 --- a/ketrface/ketrface/dbscan.py +++ b/ketrface/ketrface/dbscan.py @@ -54,6 +54,7 @@ def DBSCAN(points, eps = MAX_DISTANCE, minPts = MIN_PTS, verbose = True): sub_perc = -1 sub_total = len(S) + T = S for j, Q in enumerate(S): # Process every seed point if verbose == True: sub_new_perc = int(100 * (j+1) / total) @@ -71,7 +72,7 @@ def DBSCAN(points, eps = MAX_DISTANCE, minPts = MIN_PTS, verbose = True): C['faces'].append(Q) N = RangeQuery(points, Q, eps) # Find neighbors if len(N) >= minPts: # Density check (if Q is a core point) - S = Union(S, N) # Add new neighbors to seed set + T = Union(T, N) # Add new neighbors to seed set return clusters