fixed a problem in the switch for clustering all events - now works properly

master
Simone Cesca 4 years ago
parent a8b04461e2
commit 516f39545e

@ -131,16 +131,14 @@ def dbscan(simmat, nmin, eps, sw_clusterall):
if sw_clusterall:
for i in range(nev):
if eventsclusters[i] == -1:
ds_to_clusters = num.zeros(n_clusters-1)
cluster_sizes = num.zeros(n_clusters-1)
ds_to_clusters = num.ones(n_clusters)
for j in range(nev):
d = simmat[i, j]
ds_to_clusters[eventsclusters[j]] += d
cluster_sizes[eventsclusters[j]] += 1.
for k in range(n_clusters-1):
ds_to_clusters[k] = ds_to_clusters[k]/cluster_sizes[k]
if eventsclusters[j] != -1:
if d < ds_to_clusters[eventsclusters[j]]:
ds_to_clusters[eventsclusters[j]] = d
k, = num.where(ds_to_clusters == min(ds_to_clusters))
eventsclusters[i] == k[0]
eventsclusters[i] = k[0]
# resorting data clusters (noise remains as -1)
clustersizes = []

Loading…
Cancel
Save