diff --git a/.gitignore b/.gitignore
index 4c49bd7..6ed48a9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
.env
+node_modules
diff --git a/docker-compose.yml b/docker-compose.yml
index 5ca8909..017885e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -2,14 +2,14 @@ version: '3.1'
services:
photos:
+ env_file:
+ - .env
build: .
image: photos:latest
- container_name: photos
+ container_name: ${CONTAINER}photos
# depends_on:
# - db
restart: always
- env_file:
- - .env
ports:
- ${PORT}:${PORT}
volumes:
diff --git a/ketrface/cluster.py b/ketrface/cluster.py
index 1925d86..3897431 100644
--- a/ketrface/cluster.py
+++ b/ketrface/cluster.py
@@ -12,10 +12,16 @@ import functools
from ketrface.util import *
from ketrface.dbscan import *
from ketrface.db import *
+from ketrface.config import *
html_base = '../'
db_path = '../db/photos.db'
+config = read_config()
+json_str = json.dumps(config, indent = 2)
+print(json_str)
+exit(0)
+
# TODO
# Switch to using DBSCAN
#
@@ -166,6 +172,8 @@ print(f'{len(identities)} identities seeded.')
# Cluster the clusters...
print('Reducing clusters via DBSCAN')
reduced = DBSCAN(identities, eps = MAX_CLUSTER_DISTANCE, minPts = 2)
+if len(reduced) == 0:
+ reduced = identities
# For each cluster, merge the lists of faces referenced in the cluster's
# "faces" field, which is pointing to clusters (and not actual faces)
for cluster in reduced:
diff --git a/ketrface/detect.py b/ketrface/detect.py
index cb66678..f3613de 100644
--- a/ketrface/detect.py
+++ b/ketrface/detect.py
@@ -12,7 +12,7 @@ import cv2
from ketrface.util import *
from ketrface.db import *
-face_base = '../'
+face_base = '/pictures/'
model_name = 'VGG-Face' # 'ArcFace'
detector_backend = 'mtcnn' # 'retinaface'
model = DeepFace.build_model(model_name)
@@ -239,7 +239,7 @@ with conn:
path = f'{face_base}faces/{"{:02d}".format(faceId % 10)}'
try:
- os.mkdir(path)
+ os.makedirs(path)
except FileExistsError:
pass
diff --git a/ketrface/identities.html b/ketrface/identities.html
index 51024e8..1aa55f0 100644
--- a/ketrface/identities.html
+++ b/ketrface/identities.html
@@ -1,3615 +1,155 @@
-
Identity 0 has 313
+
Identity 1 has 13
-

-
Cluster (0): 0.0506
-
608 1718 0.998 80
-
-
-

-
Cluster (0): 0.0578
-
348 1123 1.000 138
-
-
-

-
Cluster (0): 0.0591
-
329 1070 0.999 149
-
-
-

-
Cluster (2): 0.0608
-
764 1961 0.999 96
-
-
-

-
Cluster (0): 0.0610
-
596 1689 0.999 97
-
-
-

-
Cluster (0): 0.0612
-
332 1084 0.999 130
-
-
-

-
Cluster (0): 0.0685
-
759 1954 0.999 78
-
-
-

-
Cluster (0): 0.0689
-
416 1273 0.990 53
-
-
-

-
Cluster (2): 0.0704
-
325 1056 1.000 98
-
-
-

-
Cluster (0): 0.0706
-
1015 2455 0.995 40
-
-
-

-
Cluster (0): 0.0716
-
360 1144 0.995 107
-
-
-

-
Cluster (0): 0.0720
-
610 1721 0.999 106
-
-
-

-
Cluster (0): 0.0723
-
366 1153 0.999 203
-
-
-

-
Cluster (0): 0.0728
-
383 1205 0.997 133
-
-
-

-
Cluster (2): 0.0735
-
279 934 0.998 41
-
-
-

-
Cluster (0): 0.0745
-
108 579 1.000 61
-
-
-

-
Cluster (0): 0.0746
-
1014 2454 0.999 63
-
-
-

-
Cluster (0): 0.0755
-
163 660 1.000 29
-
-
-

-
Cluster (0): 0.0757
-
380 1201 1.000 87
-
-
-

-
Cluster (0): 0.0765
-
561 1628 1.000 124
-
-
-

-
Cluster (0): 0.0773
-
385 1209 0.999 122
-
-
-

-
Cluster (2): 0.0780
-
353 1131 0.996 111
-
-
-

-
Cluster (0): 0.0792
-
90 547 1.000 54
-
-
-

-
Cluster (2): 0.0797
-
1126 2484 0.998 35
-
-
-

-
Cluster (0): 0.0800
-
415 1269 0.999 111
-
-
-

-
Cluster (0): 0.0803
-
235 822 0.990 148
-
-
-

-
Cluster (0): 0.0806
-
252 870 0.999 67
-
-
-

-
Cluster (0): 0.0810
-
478 1448 0.999 35
-
-
-

-
Cluster (0): 0.0810
-
479 1449 0.999 35
-
-
-

-
Cluster (2): 0.0811
-
1132 2498 1.000 83
-
-
-

-
Cluster (0): 0.0818
-
400 1246 1.000 70
-
-
-

-
Cluster (0): 0.0827
-
661 1770 0.998 68
-
-
-

-
Cluster (2): 0.0833
-
484 1462 1.000 79
-
-
-

-
Cluster (0): 0.0835
-
241 843 0.998 104
-
-
-

-
Cluster (0): 0.0837
-
232 815 0.992 132
-
-
-

-
Cluster (0): 0.0842
-
253 871 0.999 80
-
-
-

-
Cluster (0): 0.0842
-
378 1189 0.997 170
-
-
-

-
Cluster (0): 0.0850
-
489 1469 0.999 178
-
-
-

-
Cluster (0): 0.0858
-
425 1310 0.998 69
-
-
-

-
Cluster (0): 0.0859
-
509 1522 0.999 72
-
-

-
Cluster (6): 0.0868
-
134 613 0.999 102
+
Cluster (1): 0.0345
+
134 43 0.999 328
-

-
Cluster (0): 0.0874
-
717 1886 0.997 71
+

+
Cluster (1): 0.0472
+
132 42 1.000 259
-

-
Cluster (0): 0.0888
-
258 887 0.997 187
+

+
Cluster (1): 0.0490
+
73 10 1.000 2266
-

-
Cluster (2): 0.0891
-
371 1166 0.997 201
+

+
Cluster (1): 0.0651
+
47 7 0.997 4824
-

-
Cluster (2): 0.0894
-
249 860 0.997 68
-
-
-

-
Cluster (6): 0.0896
-
236 828 1.000 177
-
-
-

-
Cluster (0): 0.0897
-
346 1116 0.998 42
-
-
-

-
Cluster (2): 0.0905
-
974 2310 1.000 47
-
-
-

-
Cluster (0): 0.0906
-
21 470 0.999 336
-
-
-

-
Cluster (0): 0.0909
-
540 1586 0.999 34
-
-
-

-
Cluster (2): 0.0910
-
749 1939 1.000 41
-
-
-

-
Cluster (0): 0.0915
-
184 692 0.992 1444
-
-
-

-
Cluster (0): 0.0924
-
201 739 0.999 80
-
-
-

-
Cluster (0): 0.0924
-
1011 2449 1.000 121
-
-
-

-
Cluster (0): 0.0929
-
375 1178 0.999 34
-
-
-

-
Cluster (0): 0.0929
-
710 1873 0.998 40
-
-
-

-
Cluster (2): 0.0930
-
1128 2487 0.996 67
-
-
-

-
Cluster (2): 0.0932
-
614 1726 0.998 35
-
-
-

-
Cluster (0): 0.0932
-
550 1608 1.000 22
-
-
-

-
Cluster (0): 0.0937
-
511 1526 1.000 81
-
-
-

-
Cluster (2): 0.0944
-
535 1576 0.999 76
-
-
-

-
Cluster (2): 0.0947
-
593 1683 0.998 35
-
-
-

-
Cluster (2): 0.0947
-
299 986 0.999 71
-
-
-

-
Cluster (0): 0.0950
-
523 1547 0.999 57
-
-
-

-
Cluster (0): 0.0951
-
1135 2507 0.999 56
-
-
-

-
Cluster (0): 0.0954
-
674 1794 0.996 126
-
-
-

-
Cluster (2): 0.0967
-
742 1925 0.999 41
-
-
-

-
Cluster (0): 0.0974
-
916 2214 0.999 1207
-
-
-

-
Cluster (6): 0.0984
-
532 1560 1.000 135
-
-
-

-
Cluster (2): 0.0989
-
392 1224 1.000 81
-
-
-

-
Cluster (2): 0.0989
-
393 1225 1.000 81
-
-
-

-
Cluster (0): 0.0993
-
130 607 0.994 116
-
-
-

-
Cluster (0): 0.0993
-
131 608 0.994 116
-
-
-

-
Cluster (2): 0.0993
-
645 1746 0.998 58
-
-
-

-
Cluster (0): 0.0994
-
281 937 0.998 80
-
-
-

-
Cluster (0): 0.0996
-
98 559 0.990 85
-
-
-

-
Cluster (6): 0.0999
-
685 1816 1.000 85
-
-
-

-
Cluster (6): 0.1004
-
756 1949 1.000 28
-
-
-

-
Cluster (0): 0.1005
-
490 1475 0.996 121
-
-
-

-
Cluster (0): 0.1006
-
443 1364 0.999 124
-
-
-

-
Cluster (0): 0.1014
-
812 2010 0.997 53
-
-
-

-
Cluster (2): 0.1015
-
579 1657 1.000 79
-
-
-

-
Cluster (2): 0.1020
-
485 1463 0.999 24
-
-
-

-
Cluster (0): 0.1020
-
288 960 0.990 35
-
-
-

-
Cluster (0): 0.1023
-
168 672 0.997 45
-
-
-

-
Cluster (2): 0.1023
-
446 1376 0.999 134
-
-
-

-
Cluster (0): 0.1024
-
370 1159 0.997 147
-
-
-

-
Cluster (0): 0.1028
-
531 1558 0.999 69
-
-
-

-
Cluster (0): 0.1029
-
17 464 1.000 137
-
-
-

-
Cluster (0): 0.1032
-
80 527 0.998 69
-
-
-

-
Cluster (0): 0.1034
-
463 1423 1.000 47
-
-
-

-
Cluster (0): 0.1034
-
1013 2452 0.998 130
-
-
-

-
Cluster (2): 0.1042
-
588 1673 0.997 42
-
-
-

-
Cluster (2): 0.1043
-
807 2003 0.999 100
-
-
-

-
Cluster (2): 0.1047
-
351 1128 0.999 270
-
-
-

-
Cluster (2): 0.1047
-
741 1924 1.000 52
-
-
-

-
Cluster (2): 0.1050
-
1108 2478 0.999 42
-
-
-

-
Cluster (0): 0.1051
-
491 1477 0.999 79
-
-
-

-
Cluster (2): 0.1055
-
376 1186 0.998 22
-
-
-

-
Cluster (2): 0.1063
-
883 2158 0.999 153
-
-
-

-
Cluster (2): 0.1063
-
88 541 0.997 40
-
-
-

-
Cluster (12): 0.1064
-
617 1735 1.000 168
-
-
-

-
Cluster (0): 0.1066
-
456 1412 1.000 44
-
-
-

-
Cluster (0): 0.1068
-
572 1643 1.000 162
-
-
-

-
Cluster (0): 0.1068
-
304 994 0.999 132
-
-
-

-
Cluster (0): 0.1075
-
129 605 0.999 327
-
-
-

-
Cluster (0): 0.1085
-
664 1773 0.999 47
-
-
-

-
Cluster (2): 0.1087
-
1200 2581 1.000 97
-
-
-

-
Cluster (2): 0.1087
-
157 654 0.998 82
-
-
-

-
Cluster (2): 0.1091
-
4 450 0.999 55
-
-
-

-
Cluster (6): 0.1093
-
119 596 0.998 31
-
-
-

-
Cluster (2): 0.1093
-
321 1039 0.995 91
-
-
-

-
Cluster (0): 0.1095
-
396 1237 1.000 125
-
-
-

-
Cluster (0): 0.1095
-
553 1619 1.000 113
-
-
-

-
Cluster (0): 0.1102
-
306 1001 0.997 231
-
-
-

-
Cluster (0): 0.1104
-
211 761 0.998 246
-
-
-

-
Cluster (2): 0.1104
-
696 1843 1.000 57
-
-
-

-
Cluster (0): 0.1105
-
116 591 1.000 109
-
-
-

-
Cluster (0): 0.1106
-
872 2136 0.996 327
-
-
-

-
Cluster (2): 0.1116
-
646 1748 0.999 94
-
-
-

-
Cluster (6): 0.1122
-
1103 2472 0.997 49
-
-
-

-
Cluster (2): 0.1122
-
534 1571 1.000 31
-
-
-

-
Cluster (2): 0.1124
-
254 873 0.999 176
-
-
-

-
Cluster (2): 0.1125
-
539 1585 1.000 31
-
-
-

-
Cluster (0): 0.1127
-
311 1016 1.000 220
-
-
-

-
Cluster (2): 0.1128
-
282 942 0.991 19
-
-
-

-
Cluster (0): 0.1132
-
427 1314 0.997 101
-
-
-

-
Cluster (2): 0.1136
-
728 1899 1.000 95
-
-
-

-
Cluster (2): 0.1137
-
124 599 0.999 139
-
-
-

-
Cluster (2): 0.1137
-
675 1795 1.000 93
-
-
-

-
Cluster (2): 0.1139
-
554 1622 1.000 228
-
-
-

-
Cluster (0): 0.1140
-
723 1892 0.992 29
-
-
-

-
Cluster (0): 0.1147
-
300 988 0.998 116
-
-
-

-
Cluster (0): 0.1148
-
1168 2551 0.999 58
-
-
-

-
Cluster (2): 0.1148
-
750 1940 0.999 282
-
-
-

-
Cluster (0): 0.1150
-
470 1433 0.998 55
-
-
-

-
Cluster (0): 0.1150
-
472 1435 0.998 55
-
-
-

-
Cluster (0): 0.1155
-
152 635 1.000 50
-
-
-

-
Cluster (0): 0.1160
-
149 629 0.999 135
-
-
-

-
Cluster (0): 0.1163
-
268 902 0.998 15
-
-
-

-
Cluster (0): 0.1163
-
533 1566 1.000 106
-
-
-

-
Cluster (2): 0.1164
-
1008 2441 0.999 112
-
-
-

-
Cluster (6): 0.1170
-
333 1085 1.000 60
-
-
-

-
Cluster (2): 0.1171
-
53 514 1.000 230
-
-
-

-
Cluster (2): 0.1173
-
256 884 1.000 67
-
-
-

-
Cluster (2): 0.1174
-
1006 2439 0.998 135
-
-
-

-
Cluster (0): 0.1175
-
133 611 0.998 585
-
-
-

-
Cluster (0): 0.1177
-
595 1688 0.998 54
-
-
-

-
Cluster (2): 0.1182
-
766 1969 0.998 25
-
-
-

-
Cluster (0): 0.1189
-
102 570 0.998 178
-
-
-

-
Cluster (6): 0.1191
-
913 2209 0.998 62
-
-
-

-
Cluster (6): 0.1192
-
234 820 0.997 212
-
-
-

-
Cluster (0): 0.1198
-
1110 2479 1.000 467
-
-
-

-
Cluster (0): 0.1200
-
106 575 0.997 139
-
-
-

-
Cluster (0): 0.1202
-
250 864 1.000 76
-
-
-

-
Cluster (0): 0.1210
-
262 891 0.999 57
-
-
-

-
Cluster (2): 0.1213
-
563 1630 1.000 187
-
-
-

-
Cluster (2): 0.1215
-
97 556 0.993 89
-
-
-

-
Cluster (12): 0.1215
-
331 1079 1.000 8
-
-
-

-
Cluster (0): 0.1217
-
786 1987 0.998 2
-
-
-

-
Cluster (2): 0.1220
-
199 736 0.991 45
-
-
-

-
Cluster (2): 0.1221
-
51 499 0.998 174
-
-
-

-
Cluster (2): 0.1221
-
1092 2468 0.991 232
-
-
-

-
Cluster (2): 0.1223
-
992 2351 0.999 89
-
-
-

-
Cluster (0): 0.1224
-
577 1652 0.999 102
-
-
-

-
Cluster (2): 0.1225
-
257 885 0.999 11
-
-
-

-
Cluster (2): 0.1228
-
806 2002 0.990 149
-
-
-

-
Cluster (0): 0.1233
-
584 1667 0.999 60
-
-
-

-
Cluster (6): 0.1233
-
10 456 0.999 197
-
-
-

-
Cluster (0): 0.1234
-
548 1603 0.998 103
-
-
-

-
Cluster (2): 0.1238
-
109 581 1.000 48
-
-
-

-
Cluster (6): 0.1238
-
174 684 0.999 273
-
-
-

-
Cluster (2): 0.1241
-
497 1490 1.000 41
-
-
-

-
Cluster (2): 0.1242
-
1144 2513 0.999 188
-
-
-

-
Cluster (0): 0.1245
-
810 2006 1.000 55
-
-
-

-
Cluster (2): 0.1245
-
946 2271 1.000 53
-
-
-

-
Cluster (0): 0.1247
-
277 930 0.999 74
-
-
-

-
Cluster (2): 0.1249
-
967 2297 1.000 50
-
-
-

-
Cluster (2): 0.1250
-
937 2257 1.000 57
-
-
-

-
Cluster (0): 0.1253
-
323 1047 0.998 114
-
-
-

-
Cluster (49): 0.1255
-
512 1531 1.000 55
-
-
-

-
Cluster (0): 0.1262
-
760 1960 1.000 75
-
-
-

-
Cluster (12): 0.1263
-
145 623 1.000 86
-
-
-

-
Cluster (2): 0.1266
-
492 1478 0.999 22
-
-
-

-
Cluster (0): 0.1267
-
110 585 0.995 221
-
-
-

-
Cluster (6): 0.1274
-
422 1306 1.000 145
-
-
-

-
Cluster (0): 0.1287
-
359 1140 0.998 85
-
-
-

-
Cluster (2): 0.1287
-
711 1876 0.999 27
-
-
-

-
Cluster (2): 0.1291
-
771 1973 0.999 207
-
-
-

-
Cluster (6): 0.1293
-
590 1675 0.999 168
-
-
-

-
Cluster (6): 0.1293
-
113 587 0.998 72
-
-
-

-
Cluster (0): 0.1296
-
543 1596 0.997 112
-
-
-

-
Cluster (6): 0.1298
-
653 1763 0.998 50
-
-
-

-
Cluster (7): 0.1300
-
448 1393 0.999 28
-
-
-

-
Cluster (2): 0.1303
-
365 1150 0.999 85
-
-
-

-
Cluster (6): 0.1304
-
302 991 0.997 74
-
-
-

-
Cluster (6): 0.1308
-
697 1844 1.000 59
-
-
-

-
Cluster (0): 0.1309
-
969 2299 0.996 111
-
-
-

-
Cluster (0): 0.1309
-
128 604 0.999 51
-
-
-

-
Cluster (2): 0.1317
-
755 1947 0.997 20
-
-
-

-
Cluster (2): 0.1326
-
1095 2469 0.999 200
-
-
-

-
Cluster (2): 0.1327
-
939 2259 0.998 79
-
-
-

-
Cluster (2): 0.1329
-
748 1931 1.000 44
-
-
-

-
Cluster (2): 0.1339
-
693 1834 1.000 64
-
-
-

-
Cluster (0): 0.1345
-
721 1890 0.999 91
-
-
-

-
Cluster (0): 0.1348
-
500 1504 1.000 107
-
-
-

-
Cluster (0): 0.1353
-
357 1138 0.998 55
-
-
-

-
Cluster (6): 0.1355
-
251 867 1.000 146
-
-
-

-
Cluster (0): 0.1356
-
773 1976 0.998 7
-
-
-

-
Cluster (2): 0.1356
-
864 2124 0.999 18
-
-
-

-
Cluster (2): 0.1356
-
727 1898 0.998 75
-
-
-

-
Cluster (0): 0.1357
-
284 947 0.995 26
-
-
-

-
Cluster (2): 0.1358
-
736 1918 0.999 29
-
-
-

-
Cluster (2): 0.1360
-
401 1253 0.994 14
-
-
-

-
Cluster (0): 0.1360
-
1158 2534 0.991 88
-
-
-

-
Cluster (6): 0.1362
-
209 757 0.997 70
-
-
-

-
Cluster (22): 0.1364
-
224 790 0.996 103
-
-
-

-
Cluster (2): 0.1365
-
312 1018 1.000 79
-
-
-

-
Cluster (2): 0.1369
-
731 1904 0.994 17
-
-
-

-
Cluster (0): 0.1381
-
701 1853 0.998 34
-
-
-

-
Cluster (27): 0.1385
-
558 1625 1.000 44
-
-
-

-
Cluster (18): 0.1388
-
856 2109 1.000 162
-
-
-

-
Cluster (18): 0.1388
-
858 2110 1.000 162
-
-
-

-
Cluster (2): 0.1389
-
1009 2445 0.999 22
-
-
-

-
Cluster (2): 0.1389
-
955 2279 0.999 98
-
-
-

-
Cluster (0): 0.1392
-
307 1002 1.000 66
-
-
-

-
Cluster (2): 0.1395
-
117 594 1.000 73
-
-
-

-
Cluster (0): 0.1398
-
173 683 0.999 109
-
-
-

-
Cluster (0): 0.1399
-
107 577 0.999 343
-
-
-

-
Cluster (2): 0.1400
-
1151 2520 0.999 379
-
-
-

-
Cluster (4): 0.1406
-
103 571 0.998 591
-
-
-

-
Cluster (2): 0.1408
-
743 1926 0.998 66
-
-
-

-
Cluster (0): 0.1409
-
912 2208 0.996 17
-
-
-

-
Cluster (2): 0.1414
-
699 1850 1.000 165
-
-
-

-
Cluster (2): 0.1424
-
1134 2503 0.997 189
-
-
-

-
Cluster (0): 0.1437
-
303 993 0.997 57
-
-
-

-
Cluster (0): 0.1441
-
291 968 0.999 146
-
-
-

-
Cluster (12): 0.1444
-
426 1312 0.998 134
-
-
-

-
Cluster (2): 0.1447
-
765 1964 0.999 48
-
-
-

-
Cluster (2): 0.1459
-
715 1883 0.999 33
-
-
-

-
Cluster (22): 0.1463
-
665 1774 1.000 27
-
-
-

-
Cluster (0): 0.1465
-
286 952 0.993 67
-
-
-

-
Cluster (2): 0.1471
-
994 2368 1.000 126
-
-
-

-
Cluster (6): 0.1473
-
541 1588 1.000 33
-
-
-

-
Cluster (2): 0.1474
-
1005 2438 0.999 7
-
-
-

-
Cluster (0): 0.1483
-
508 1518 1.000 106
-
-
-

-
Cluster (2): 0.1487
-
3 449 1.000 51
-
-
-

-
Cluster (7): 0.1488
-
966 2288 0.995 390
-
-
-

-
Cluster (2): 0.1489
-
659 1767 0.999 185
-
-
-

-
Cluster (2): 0.1492
-
958 2280 0.999 116
-
-
-

-
Cluster (0): 0.1505
-
844 2103 0.999 134
-
-
-

-
Cluster (0): 0.1505
-
846 2104 0.999 134
-
-
-

-
Cluster (7): 0.1513
-
127 603 0.999 65
-
-
-

-
Cluster (0): 0.1521
-
879 2142 0.992 5
-
-
-

-
Cluster (27): 0.1527
-
753 1945 0.994 178
-
-
-

-
Cluster (0): 0.1536
-
825 2047 0.999 102
-
-
-

-
Cluster (2): 0.1550
-
866 2128 0.998 71
-
-
-

-
Cluster (7): 0.1559
-
198 724 0.997 72
-
-
-

-
Cluster (31): 0.1566
-
890 2167 1.000 255
-
-
-

-
Cluster (2): 0.1570
-
1201 2583 0.999 40
-
-
-

-
Cluster (2): 0.1570
-
831 2082 1.000 59
-
-
-

-
Cluster (7): 0.1581
-
683 1811 1.000 314
-
-
-

-
Cluster (6): 0.1591
-
316 1022 0.998 98
-
-
-

-
Cluster (2): 0.1602
-
1017 2459 0.999 1393
-
-
-

-
Cluster (29): 0.1612
-
206 751 0.998 56
-
-
-

-
Cluster (0): 0.1630
-
1 443 1.000 30
-
-
-

-
Cluster (0): 0.1630
-
160 657 0.995 146
-
-
-

-
Cluster (0): 0.1650
-
926 2229 1.000 293
-
-
-

-
Cluster (2): 0.1666
-
960 2281 0.999 51
-
-
-

-
Cluster (12): 0.1666
-
712 1880 1.000 72
-
-
-

-
Cluster (12): 0.1669
-
41 485 0.997 436
-
-
-

-
Cluster (31): 0.1673
-
230 806 1.000 84
-
-
-

-
Cluster (2): 0.1677
-
1010 2446 0.995 45
-
-
-

-
Cluster (12): 0.1702
-
243 849 0.999 106
-
-
-

-
Cluster (6): 0.1707
-
450 1400 1.000 37
-
-
-

-
Cluster (2): 0.1713
-
963 2282 0.994 888
-
-
-

-
Cluster (6): 0.1714
-
1187 2571 0.996 691
-
-
-

-
Cluster (27): 0.1721
-
1127 2486 0.995 64
-
-
-

-
Cluster (4): 0.1721
-
908 2203 0.993 29
-
-
-

-
Cluster (27): 0.1726
-
167 666 0.996 30
-
-
-

-
Cluster (0): 0.1750
-
892 2170 1.000 100
-
-
-

-
Cluster (2): 0.1762
-
310 1009 1.000 43
-
-
-

-
Cluster (24): 0.1778
-
147 626 0.997 229
-
-
-

-
Cluster (7): 0.1791
-
337 1102 0.999 47
-
-
-

-
Cluster (27): 0.1796
-
1133 2502 0.995 65
-
-
-

-
Cluster (7): 0.1810
-
914 2211 0.999 13
-
-
-

-
Cluster (2): 0.1815
-
1012 2451 0.998 244
-
-
-

-
Cluster (22): 0.1820
-
228 801 0.999 37
-
-
-

-
Cluster (4): 0.1823
-
549 1604 0.991 69
-
-
-

-
Cluster (49): 0.1832
-
729 1900 0.999 69
-
-
-

-
Cluster (27): 0.1844
-
269 905 0.998 86
-
-
-

-
Cluster (49): 0.1863
-
1162 2540 1.000 250
-
-
-

-
Cluster (6): 0.1902
-
672 1787 0.999 65
-
-
-

-
Cluster (49): 0.1988
-
725 1896 1.000 27
-
-
-

-
Cluster (27): 0.1993
-
751 1941 0.998 27
-
-
-

-
Cluster (24): 0.2002
-
193 715 1.000 54
-
-
-

-
Cluster (27): 0.2005
-
869 2133 0.999 76
-
-
-

-
Cluster (22): 0.2034
-
140 616 0.998 55
-
-
-

-
Cluster (7): 0.2036
-
118 595 0.999 107
-
-
-

-
Cluster (18): 0.2055
-
91 548 1.000 811
-
-
-

-
Cluster (24): 0.2087
-
703 1859 1.000 39
-
-
-

-
Cluster (29): 0.2093
-
194 716 0.997 31
-
-
-

-
Cluster (4): 0.2095
-
775 1977 0.994 3
-
-
-

-
Cluster (7): 0.2139
-
11 457 0.996 887
-
-
-

-
Cluster (7): 0.2153
-
466 1426 1.000 15
-
-
-

-
Cluster (29): 0.2166
-
789 1989 0.999 2
-
-
-

-
Cluster (18): 0.2184
-
77 526 1.000 59
-
-
-

-
Cluster (12): 0.2262
-
804 2000 1.000 90
-
-
-

-
Cluster (7): 0.2281
-
473 1436 1.000 152
-
-
-

-
Cluster (7): 0.2281
-
475 1440 1.000 152
-
-
-

-
Cluster (31): 0.2315
-
296 979 0.994 693
-
-
-

-
Cluster (4): 0.2494
-
754 1946 1.000 214
-
-
-

-
Cluster (4): 0.2695
-
7 455 1.000 42
-
-
-
-
-
Identity 2 has 169
-
-
-

-
Cluster (9): 0.0616
-
649 1753 0.998 121
-
-
-

-
Cluster (19): 0.0648
-
520 1539 0.993 155
-
-
-

-
Cluster (19): 0.0664
-
996 2393 1.000 112
-
-
-

-
Cluster (19): 0.0669
-
381 1202 1.000 55
-
-
-

-
Cluster (19): 0.0677
-
423 1307 1.000 189
-
-
-

-
Cluster (19): 0.0690
-
975 2320 0.999 71
-
-
-

-
Cluster (19): 0.0698
-
493 1479 1.000 191
-
-
-

-
Cluster (9): 0.0710
-
185 694 1.000 34
-
-
-

-
Cluster (19): 0.0715
-
537 1580 0.999 64
-
-
-

-
Cluster (19): 0.0716
-
678 1800 1.000 108
-
-
-

-
Cluster (19): 0.0728
-
233 819 1.000 62
-
-
-

-
Cluster (9): 0.0740
-
977 2338 0.999 26
-
-
-

-
Cluster (19): 0.0752
-
413 1265 1.000 96
-
-
-

-
Cluster (9): 0.0758
-
956 2280 1.000 110
-
-
-

-
Cluster (19): 0.0759
-
538 1583 0.999 34
-
-
-

-
Cluster (19): 0.0770
-
507 1517 1.000 328
-
-
-

-
Cluster (19): 0.0779
-
170 675 1.000 138
-
-
-

-
Cluster (9): 0.0779
-
650 1755 1.000 71
-
-
-

-
Cluster (19): 0.0779
-
171 678 1.000 67
-
-
-

-
Cluster (19): 0.0799
-
499 1502 0.999 26
-
-
-

-
Cluster (19): 0.0803
-
562 1629 0.999 271
-
-
-

-
Cluster (19): 0.0805
-
692 1833 1.000 128
-
-
-

-
Cluster (9): 0.0810
-
293 978 0.996 73
-
-
-

-
Cluster (9): 0.0821
-
358 1139 0.998 237
-
-
-

-
Cluster (9): 0.0826
-
278 932 0.999 73
-
-
-

-
Cluster (9): 0.0833
-
959 2281 1.000 21
-
-
-

-
Cluster (19): 0.0855
-
192 714 1.000 64
-
-
-

-
Cluster (19): 0.0871
-
347 1122 0.991 35
-
-
-

-
Cluster (9): 0.0874
-
647 1749 0.997 244
-
-
-

-
Cluster (19): 0.0876
-
904 2191 0.999 80
-
-
-

-
Cluster (9): 0.0877
-
301 990 0.992 91
-
-
-

-
Cluster (9): 0.0884
-
606 1716 1.000 98
-
-
-

-
Cluster (19): 0.0889
-
283 943 0.991 58
-
-
-

-
Cluster (19): 0.0894
-
976 2328 1.000 87
-
-
-

-
Cluster (19): 0.0894
-
428 1327 0.999 35
-
-
-

-
Cluster (9): 0.0895
-
896 2180 0.997 172
-
-
-

-
Cluster (9): 0.0895
-
439 1361 1.000 140
-
-
-

-
Cluster (19): 0.0901
-
993 2361 0.999 20
-
-
-

-
Cluster (19): 0.0905
-
544 1600 0.998 134
-
-
-

-
Cluster (19): 0.0912
-
335 1095 0.999 1042
-
-
-

-
Cluster (9): 0.0914
-
289 966 0.996 28
-
-
-

-
Cluster (9): 0.0919
-
71 524 1.000 203
-
-
-

-
Cluster (9): 0.0930
-
583 1666 0.996 61
-
-
-

-
Cluster (19): 0.0931
-
644 1745 0.999 55
-
-
-

-
Cluster (19): 0.0935
-
143 620 0.999 62
-
-
-

-
Cluster (9): 0.0944
-
968 2298 0.997 203
-
-
-

-
Cluster (19): 0.0944
-
172 682 1.000 77
-
-
-

-
Cluster (19): 0.0948
-
793 1994 1.000 194
-
-
-

-
Cluster (9): 0.0950
-
654 1765 1.000 13
-
-
-

-
Cluster (23): 0.0951
-
326 1057 0.999 184
-
-
-

-
Cluster (9): 0.0954
-
700 1851 1.000 829
-
-
-

-
Cluster (19): 0.0958
-
388 1216 1.000 112
-
-
-

-
Cluster (19): 0.0960
-
779 1980 1.000 3527
-
-
-

-
Cluster (19): 0.0960
-
196 723 0.998 69
-
-
-

-
Cluster (19): 0.0963
-
418 1293 1.000 227
-
-
-

-
Cluster (9): 0.0968
-
953 2279 1.000 112
-
-
-

-
Cluster (9): 0.0990
-
214 774 1.000 110
-
-
-

-
Cluster (19): 0.0998
-
1199 2574 0.992 401
-
-
-

-
Cluster (19): 0.1000
-
148 628 1.000 98
-
-
-

-
Cluster (9): 0.1001
-
64 521 1.000 71
-
-
-

-
Cluster (9): 0.1002
-
772 1976 1.000 3479
-
-
-

-
Cluster (23): 0.1008
-
592 1680 0.998 30
-
-
-

-
Cluster (19): 0.1013
-
372 1167 1.000 76
-
-
-

-
Cluster (23): 0.1016
-
881 2148 0.999 116
-
-
-

-
Cluster (19): 0.1018
-
158 655 1.000 107
-
-
-

-
Cluster (19): 0.1033
-
207 753 1.000 128
-
-
-

-
Cluster (19): 0.1041
-
225 792 1.000 94
-
-
-

-
Cluster (9): 0.1047
-
893 2170 0.995 170
-
-
-

-
Cluster (9): 0.1052
-
122 598 0.999 105
-
-
-

-
Cluster (9): 0.1054
-
1175 2563 0.992 37
-
-
-

-
Cluster (9): 0.1063
-
586 1669 0.999 266
-
-
-

-
Cluster (9): 0.1066
-
285 952 1.000 88
-
-
-

-
Cluster (9): 0.1075
-
1004 2431 1.000 188
-
-
-

-
Cluster (19): 0.1076
-
777 1979 1.000 4106
-
-
-

-
Cluster (19): 0.1077
-
324 1048 0.997 199
-
-
-

-
Cluster (23): 0.1083
-
578 1653 0.998 33
-
-
-

-
Cluster (9): 0.1086
-
845 2103 0.993 182
-
-
-

-
Cluster (9): 0.1086
-
847 2104 0.993 182
-
-
-

-
Cluster (9): 0.1090
-
826 2054 0.998 74
-
-
-

-
Cluster (19): 0.1096
-
374 1176 1.000 188
-
-
-

-
Cluster (9): 0.1103
-
179 687 1.000 8
-
-
-

-
Cluster (19): 0.1105
-
878 2142 0.999 6
-
-
-

-
Cluster (19): 0.1105
-
494 1480 1.000 45
-
-
-

-
Cluster (23): 0.1111
-
345 1114 1.000 34
-
-
-

-
Cluster (19): 0.1114
-
688 1821 0.999 13
-
-
-

-
Cluster (19): 0.1124
-
1070 2466 0.999 870
-
-
-

-
Cluster (23): 0.1124
-
146 624 1.000 27
-
-
-

-
Cluster (23): 0.1155
-
681 1807 0.993 25
-
-
-

-
Cluster (19): 0.1162
-
159 655 1.000 185
-
-
-

-
Cluster (19): 0.1168
-
1000 2421 1.000 133
-
-
-

-
Cluster (9): 0.1170
-
161 658 0.996 25
-
-
-

-
Cluster (19): 0.1180
-
240 842 0.998 147
-
-
-

-
Cluster (9): 0.1185
-
814 2015 1.000 253
-
-
-

-
Cluster (19): 0.1190
-
417 1291 1.000 52
-
-
-

-
Cluster (19): 0.1206
-
698 1845 1.000 35
-
-
-

-
Cluster (19): 0.1211
-
264 894 1.000 22
-
-
-

-
Cluster (19): 0.1216
-
1139 2512 0.998 104
-
-
-

-
Cluster (9): 0.1225
-
686 1817 0.997 1093
-
-
-

-
Cluster (9): 0.1225
-
774 1977 1.000 3009
-
-
-

-
Cluster (19): 0.1243
-
205 749 1.000 38
-
-
-

-
Cluster (19): 0.1246
-
101 569 0.996 173
-
-
-

-
Cluster (9): 0.1253
-
580 1661 1.000 268
-
-
-

-
Cluster (9): 0.1260
-
247 857 0.991 16
-
-
-

-
Cluster (23): 0.1264
-
791 1993 1.000 27
-
-
-

-
Cluster (9): 0.1280
-
354 1134 0.999 624
-
-
-

-
Cluster (23): 0.1286
-
287 959 1.000 32
-
-
-

-
Cluster (19): 0.1292
-
873 2140 1.000 4
-
-
-

-
Cluster (9): 0.1304
-
827 2065 0.998 251
-
-
-

-
Cluster (23): 0.1319
-
266 898 0.999 283
-
-
-

-
Cluster (19): 0.1323
-
1051 2463 1.000 1022
-
-
-

-
Cluster (19): 0.1332
-
776 1978 1.000 3123
-
-
-

-
Cluster (9): 0.1343
-
408 1262 0.999 321
-
-
-

-
Cluster (19): 0.1345
-
1098 2469 0.996 262
-
-
-

-
Cluster (9): 0.1350
-
516 1537 0.993 110
-
-
-

-
Cluster (9): 0.1352
-
313 1019 0.999 50
-
-
-

-
Cluster (19): 0.1358
-
687 1818 0.997 39
-
-
-

-
Cluster (9): 0.1359
-
557 1624 0.996 72
-
-
-

-
Cluster (23): 0.1360
-
1033 2460 0.999 1120
-
-
-

-
Cluster (9): 0.1366
-
1192 2573 1.000 1469
-
-
-

-
Cluster (9): 0.1371
-
849 2105 0.995 212
-
-
-

-
Cluster (9): 0.1371
-
851 2106 0.995 212
-
-
-

-
Cluster (19): 0.1390
-
395 1236 0.998 145
-
-
-

-
Cluster (19): 0.1390
-
663 1772 1.000 38
-
-
-

-
Cluster (19): 0.1393
-
1045 2462 1.000 1295
-
-
-

-
Cluster (19): 0.1402
-
394 1227 0.999 20
-
-
-

-
Cluster (9): 0.1421
-
542 1589 0.999 512
-
-
-

-
Cluster (23): 0.1422
-
1059 2464 0.994 834
-
-
-

-
Cluster (23): 0.1429
-
702 1855 1.000 189
-
-
-

-
Cluster (9): 0.1431
-
338 1103 1.000 261
-
-
-

-
Cluster (23): 0.1439
-
559 1626 0.998 44
-
-
-

-
Cluster (9): 0.1457
-
438 1353 1.000 169
-
-
-

-
Cluster (23): 0.1459
-
832 2084 1.000 242
-
-
-

-
Cluster (9): 0.1461
-
576 1648 0.996 87
-
-
-

-
Cluster (67): 0.1465
-
915 2214 1.000 1689
-
-
-

-
Cluster (9): 0.1466
-
609 1719 1.000 244
-
-
-

-
Cluster (23): 0.1467
-
935 2254 0.996 25
-
-
-

-
Cluster (9): 0.1491
-
467 1427 0.999 161
-
-
-

-
Cluster (23): 0.1492
-
513 1536 1.000 49
-
-
-

-
Cluster (9): 0.1495
-
314 1020 1.000 197
-
-
-

-
Cluster (23): 0.1502
-
447 1377 0.998 140
-
-
-

-
Cluster (9): 0.1521
-
386 1212 0.999 25
-
-
-

-
Cluster (9): 0.1532
-
477 1444 0.991 193
-
-
-

-
Cluster (23): 0.1532
-
1090 2468 0.999 245
-
-
-

-
Cluster (23): 0.1544
-
1060 2464 0.993 893
-
-
-

-
Cluster (25): 0.1545
-
790 1992 0.999 69
-
-
-

-
Cluster (23): 0.1551
-
1063 2465 0.999 1128
-
-
-

-
Cluster (32): 0.1558
-
922 2222 0.999 255
-
-
-

-
Cluster (32): 0.1561
-
611 1722 0.997 21
-
-
-

-
Cluster (23): 0.1576
-
231 810 0.999 58
-
-
-

-
Cluster (23): 0.1612
-
1035 2460 0.995 850
-
-
-

-
Cluster (25): 0.1633
-
399 1245 1.000 1754
-
-
-

-
Cluster (37): 0.1633
-
330 1071 0.997 88
-
-
-

-
Cluster (23): 0.1633
-
352 1129 0.992 21
-
-
-

-
Cluster (23): 0.1653
-
1071 2466 0.999 959
-
-
-

-
Cluster (42): 0.1718
-
689 1823 1.000 30
-
-
-

-
Cluster (9): 0.1723
-
18 464 0.999 226
-
-
-

-
Cluster (9): 0.1736
-
328 1067 1.000 80
-
-
-

-
Cluster (9): 0.1758
-
495 1481 0.998 56
-
-
-

-
Cluster (37): 0.1768
-
695 1842 1.000 344
-
-
-

-
Cluster (32): 0.1789
-
409 1263 1.000 192
-
-
-

-
Cluster (25): 0.1865
-
809 2006 1.000 61
-
-
-

-
Cluster (32): 0.1939
-
255 875 1.000 33
-
-
-

-
Cluster (67): 0.1955
-
1176 2564 0.998 823
-
-
-

-
Cluster (23): 0.1993
-
616 1734 0.999 119
-
-
-

-
Cluster (42): 0.2051
-
384 1208 1.000 212
-
-
-

-
Cluster (42): 0.2171
-
433 1334 0.997 313
-
-
-

-
Cluster (25): 0.2239
-
150 631 1.000 1414
-
-
-

-
Cluster (42): 0.2655
-
424 1309 0.997 92
-
-
-

-
Cluster (25): 0.3618
-
294 979 1.000 1204
-
-
-
-
-
Identity 15 has 18
-
-
-

-
Cluster (15): 0.0846
-
19 468 0.996 59
-
-
-

-
Cluster (15): 0.1014
-
1178 2565 0.997 3812
-
-
-

-
Cluster (15): 0.1094
-
1148 2516 0.992 66
-
-
-

-
Cluster (15): 0.1117
-
322 1041 0.999 50
-
-
-

-
Cluster (15): 0.1270
-
898 2181 0.998 73
-
-
-

-
Cluster (15): 0.1273
-
919 2218 0.992 12
-
-
-

-
Cluster (15): 0.1284
-
936 2254 0.995 23
-
-
-

-
Cluster (15): 0.1308
-
373 1168 0.995 1742
-
-
-

-
Cluster (15): 0.1346
-
635 1740 0.998 425
-
-
-

-
Cluster (15): 0.1393
-
880 2143 0.998 41
-
-
-

-
Cluster (15): 0.1403
-
782 1985 0.999 16
-
-
-

-
Cluster (15): 0.1419
-
1210 2592 0.996 3574
-
-
-

-
Cluster (15): 0.1428
-
863 2122 0.999 36
-
-
-

-
Cluster (15): 0.1433
-
682 1809 0.997 641
-
-
-

-
Cluster (15): 0.1465
-
1194 2573 0.998 1430
-
-
-

-
Cluster (15): 0.1603
-
292 970 0.999 76
-
-
-

-
Cluster (15): 0.1613
-
1007 2440 0.999 21
-
-
-

-
Cluster (15): 0.1846
-
734 1915 0.999 18
-
-
-
-
-
Identity 1 has 16
-
-
-

-
Cluster (5): 0.0904
-
571 1642 0.998 571
-
-
-

-
Cluster (5): 0.0988
-
670 1784 1.000 30
-
-
-

-
Cluster (5): 0.1082
-
9 456 1.000 736
-
-
-

-
Cluster (10): 0.1107
-
784 1986 0.997 879
-
-
-

-
Cluster (5): 0.1141
-
48 489 0.996 607
-
-
-

-
Cluster (5): 0.1154
-
667 1777 1.000 804
-
-
-

-
Cluster (5): 0.1230
-
435 1341 0.999 167
-
-
-

-
Cluster (5): 0.1303
-
37 483 0.999 626
-
-
-

-
Cluster (5): 0.1320
-
1181 2566 0.999 1067
-
-
-

-
Cluster (15): 0.1339
-
597 1690 0.997 61
-
-
-

-
Cluster (5): 0.1459
-
93 548 1.000 656
-
-
-

-
Cluster (10): 0.1639
-
28 478 0.991 324
-
-
-

-
Cluster (53): 0.1702
-
961 2282 1.000 234
-
-
-

-
Cluster (15): 0.1704
-
63 520 0.998 1881
-
-
-

-
Cluster (53): 0.1727
-
570 1642 0.998 422
-
-
-

-
Cluster (10): 0.1845
-
411 1264 0.999 10
-
-
-
-
-
Identity 4 has 15
-
-
-

-
Cluster (20): 0.0921
-
162 658 0.992 23
-
-
-

-
Cluster (21): 0.0972
-
526 1554 0.999 101
-
-
-

-
Cluster (20): 0.1136
-
527 1554 0.999 48
-
-
-

-
Cluster (30): 0.1155
-
197 723 0.998 120
-
-
-

-
Cluster (20): 0.1184
-
983 2347 0.993 127
-
-
-

-
Cluster (20): 0.1267
-
903 2187 0.998 138
-
-
-

-
Cluster (20): 0.1338
-
151 631 0.992 37
-
-
-

-
Cluster (20): 0.1394
-
135 614 0.999 37
-
-
-

-
Cluster (30): 0.1412
-
528 1554 0.997 228
-
-
-

-
Cluster (30): 0.1418
-
951 2273 1.000 101
-
-
-

-
Cluster (21): 0.1441
-
982 2347 0.997 195
-
-
-

-
Cluster (21): 0.1491
-
136 614 0.999 179
-
-
-

-
Cluster (30): 0.1650
-
248 859 0.994 28
-
-
-

-
Cluster (30): 0.1926
-
839 2089 0.991 157
-
-
-

-
Cluster (21): 0.2525
-
1147 2516 0.995 437
-
-
-
-
-
Identity 3 has 12
-
-
-

-
Cluster (11): 0.0610
-
834 2087 1.000 492
-
-
-

-
Cluster (11): 0.0672
-
402 1254 1.000 137
-
-
-

-
Cluster (11): 0.0672
-
405 1256 1.000 137
-
-
-

-
Cluster (65): 0.0849
-
836 2088 1.000 1234
-
-
-

-
Cluster (11): 0.1030
-
406 1257 0.994 43
-
-
-

-
Cluster (11): 0.1151
-
604 1705 1.000 45
-
-
-

-
Cluster (11): 0.1314
-
833 2086 0.996 50
-
-
-

-
Cluster (11): 0.1316
-
36 483 1.000 604
-
-
-

-
Cluster (11): 0.1333
-
840 2099 0.995 168
-
-
-

-
Cluster (11): 0.1333
-
841 2100 0.995 168
-
-
-

-
Cluster (65): 0.1689
-
449 1399 1.000 156
-
-
-

-
Cluster (65): 0.1757
-
1171 2556 0.999 157
-
-
-
-
-
Identity 16 has 12
-
-
-

-
Cluster (16): 0.0676
-
59 519 0.997 563
-
-
-

-
Cluster (16): 0.0715
-
589 1674 0.999 42
-
-
-

-
Cluster (16): 0.0860
-
75 525 0.997 681
-
-
-

-
Cluster (16): 0.1099
-
897 2181 1.000 104
-
-
-

-
Cluster (16): 0.1112
-
970 2301 0.996 90
-
-
-

-
Cluster (16): 0.1160
-
85 529 0.999 1875
-
-
-

-
Cluster (16): 0.1344
-
581 1663 0.999 1169
-
-
-

-
Cluster (16): 0.1363
-
713 1880 1.000 171
-
-
-

-
Cluster (16): 0.1446
-
787 1988 1.000 827
-
-
-

-
Cluster (16): 0.1464
-
690 1826 0.999 26
-
-
-

-
Cluster (16): 0.1471
-
105 574 1.000 66
-
-
-

-
Cluster (16): 0.1829
-
460 1415 1.000 39
-
-
-
-
-
Identity 18 has 11
-
-
-

-
Cluster (18): 0.0945
-
104 573 0.991 30
-
-
-

-
Cluster (18): 0.1072
-
290 967 0.996 133
-
-
-

-
Cluster (18): 0.1233
-
1167 2549 1.000 142
-
-
-

-
Cluster (18): 0.1249
-
767 1971 0.999 230
-
-
-

-
Cluster (18): 0.1302
-
568 1642 0.999 990
-
-
-

-
Cluster (18): 0.1303
-
778 1979 0.999 4
-
-
-

-
Cluster (18): 0.1305
-
115 590 1.000 199
-
-
-

-
Cluster (18): 0.1363
-
1163 2541 0.998 50
-
-
-

-
Cluster (18): 0.1430
-
246 855 0.995 39
-
-
-

-
Cluster (18): 0.1498
-
906 2195 0.997 49
-
-
-

-
Cluster (18): 0.1612
-
186 695 0.998 79
-
-
-
-
-
Identity 20 has 8
-
-
-

-
Cluster (20): 0.0677
-
876 2141 0.998 12
-
-
-

-
Cluster (20): 0.0830
-
138 614 0.998 23
-
-
-

-
Cluster (20): 0.1038
-
781 1985 1.000 1397
-
-
-

-
Cluster (20): 0.1157
-
938 2257 1.000 51
-
-
-

-
Cluster (20): 0.1185
-
1002 2428 1.000 477
-
-
-

-
Cluster (20): 0.1227
-
813 2010 0.990 55
-
-
-

-
Cluster (20): 0.1337
-
453 1403 0.999 1177
-
-
-

-
Cluster (20): 0.1491
-
336 1099 0.998 205
-
-
-
-
-
Identity 28 has 8
-
-
-

-
Cluster (28): 0.0740
-
319 1033 1.000 84
-
-
-

-
Cluster (28): 0.0961
-
716 1884 1.000 205
-
-
-

-
Cluster (28): 0.1072
-
560 1627 0.996 134
-
-
-

-
Cluster (28): 0.1095
-
888 2165 0.993 285
-
-
-

-
Cluster (28): 0.1361
-
739 1922 1.000 43
-
-
-

-
Cluster (28): 0.1614
-
1196 2574 1.000 414
-
-
-

-
Cluster (28): 0.1778
-
356 1136 0.995 9
-
-
-

-
Cluster (28): 0.1818
-
815 2015 0.996 70
-
-
-
-
-
Identity 13 has 7
-
-
-

-
Cluster (13): 0.0742
-
5 453 1.000 177
-
-
-

-
Cluster (13): 0.0809
-
805 2001 0.999 81
-
-
-

-
Cluster (13): 0.1012
-
704 1862 0.999 185
-
-
-

-
Cluster (13): 0.1075
-
44 489 0.999 343
-
-
-

-
Cluster (13): 0.1115
-
730 1902 1.000 16
-
-
-

-
Cluster (13): 0.1128
-
1129 2488 0.995 207
-
-
-

-
Cluster (13): 0.1363
-
694 1839 0.999 44
-
-
-
-
-
Identity 14 has 7
-
-
-

-
Cluster (14): 0.0663
-
668 1782 1.000 54
-
-
-

-
Cluster (14): 0.0797
-
733 1911 1.000 29
-
-
-

-
Cluster (14): 0.0842
-
830 2074 0.999 25
-
-
-

-
Cluster (14): 0.0891
-
943 2266 1.000 354
-
-
-

-
Cluster (14): 0.1103
-
12 462 1.000 34
-
-
-

-
Cluster (14): 0.1604
-
887 2164 0.999 73
-
-
-

-
Cluster (14): 0.2044
-
829 2073 1.000 36
-
-
-
-
-
Identity 21 has 7
-
-
-

-
Cluster (21): 0.0788
-
575 1646 0.997 73
-
-
-

-
Cluster (21): 0.0858
-
187 698 1.000 46
-
-
-

-
Cluster (21): 0.0885
-
155 645 0.999 247
-
-
-

-
Cluster (21): 0.0986
-
1104 2473 0.998 91
-
-
-

-
Cluster (21): 0.1217
-
204 744 0.992 44
-
-
-

-
Cluster (21): 0.1335
-
481 1454 1.000 84
-
-
-

-
Cluster (21): 0.1503
-
271 913 0.997 89
-
-
-
-
-
Identity 23 has 7
-
-
-

-
Cluster (23): 0.0516
-
377 1187 0.997 153
-
-
-

-
Cluster (23): 0.0574
-
364 1149 1.000 134
-
-
-

-
Cluster (23): 0.0594
-
676 1797 1.000 33
-
-
-

-
Cluster (23): 0.0688
-
327 1066 0.998 77
-
-
-

-
Cluster (23): 0.0703
-
273 922 0.999 32
-
-
-

-
Cluster (23): 0.0918
-
320 1034 1.000 190
-
-
-

-
Cluster (23): 0.1134
-
203 741 0.999 13
-
-
-
-
-
Identity 24 has 7
-
-
-

-
Cluster (24): 0.0833
-
565 1640 1.000 75
-
-
-

-
Cluster (24): 0.0906
-
421 1304 0.995 250
-
-
-

-
Cluster (24): 0.0942
-
212 766 0.995 352
-
-
-

-
Cluster (24): 0.0970
-
1169 2553 1.000 880
-
-
-

-
Cluster (24): 0.1322
-
797 1995 0.998 9
-
-
-

-
Cluster (24): 0.1342
-
952 2275 0.998 39
-
-
-

-
Cluster (24): 0.1374
-
1143 2512 0.993 122
-
-
-
-
-
Identity 5 has 6
-
-
-

-
Cluster (28): 0.0728
-
744 1927 0.999 268
-
-
-

-
Cluster (28): 0.0728
-
745 1928 0.999 268
-
-
-

-
Cluster (62): 0.0964
-
808 2004 1.000 43
-
-
-

-
Cluster (28): 0.0971
-
1106 2475 1.000 56
-
-
-

-
Cluster (28): 0.1089
-
191 708 0.999 53
-
-
-

-
Cluster (28): 0.1159
-
718 1887 0.998 147
-
-
-
-
-
Identity 17 has 5
-
-
-

-
Cluster (17): 0.0626
-
848 2105 1.000 108
-
-
-

-
Cluster (17): 0.0626
-
850 2106 1.000 108
-
-
-

-
Cluster (17): 0.0981
-
226 794 1.000 38
-
-
-

-
Cluster (17): 0.1018
-
210 760 0.998 488
-
-
-

-
Cluster (17): 0.1033
-
100 566 0.996 127
-
-
-
-
-
Identity 19 has 5
-
-
-

-
Cluster (19): 0.0795
-
1188 2572 0.999 554
+

+
Cluster (1): 0.0660
+
139 46 0.998 126

-
Cluster (19): 0.0842
-
137 614 0.999 178
+
Cluster (1): 0.0674
+
137 44 0.998 727
-

-
Cluster (19): 0.1044
-
458 1414 0.998 1025
+

+
Cluster (1): 0.0747
+
71 9 1.000 3734
-

-
Cluster (19): 0.1227
-
156 652 0.998 248
+

+
Cluster (1): 0.0753
+
146 50 1.000 178
-

-
Cluster (19): 0.1616
-
997 2394 0.999 2544
+

+
Cluster (1): 0.0826
+
130 41 1.000 425
+
+
+

+
Cluster (1): 0.0950
+
56 8 0.999 4833
+
+
+

+
Cluster (1): 0.0964
+
143 48 1.000 222
+
+
+

+
Cluster (1): 0.1522
+
144 49 1.000 230
+
+
+

+
Cluster (1): 0.2030
+
25 6 1.000 205
-
Identity 25 has 5
+
Identity 0 has 9
-

-
Cluster (25): 0.0723
-
215 775 1.000 43
+

+
Cluster (0): 0.0690
+
136 44 1.000 779
-

-
Cluster (25): 0.1096
-
436 1342 1.000 58
+

+
Cluster (0): 0.0826
+
131 41 0.991 489
-

-
Cluster (25): 0.1154
-
735 1917 0.997 27
+

+
Cluster (0): 0.0832
+
147 50 0.998 223
-

-
Cluster (25): 0.1208
-
1107 2477 0.998 50
+

+
Cluster (0): 0.0923
+
135 43 0.997 262
-

-
Cluster (25): 0.1315
-
757 1951 1.000 17
+

+
Cluster (0): 0.1008
+
138 45 0.992 612
+
+
+

+
Cluster (0): 0.1021
+
133 42 0.992 772
+
+
+

+
Cluster (0): 0.1084
+
14 5 0.995 2610
+
+
+

+
Cluster (0): 0.1120
+
3 1 0.999 25
+
+
+

+
Cluster (0): 0.1525
+
46 7 0.997 4384
-
Identity 9 has 4
+
Identity 2 has 6
-

-
Cluster (52): 0.0453
-
1080 2467 0.999 1369
+

+
Cluster (2): 0.0413
+
83 20 0.999 724
-

-
Cluster (54): 0.0564
-
1066 2465 0.990 1063
+

+
Cluster (2): 0.1122
+
86 20 0.996 766
-

-
Cluster (54): 0.1211
-
574 1644 0.996 91
+

+
Cluster (2): 0.1245
+
85 20 0.998 931
-

-
Cluster (52): 0.1227
-
555 1623 0.999 552
-
-
-
-
-
Identity 30 has 4
-
-
-

-
Cluster (30): 0.0852
-
496 1484 0.997 159
+

+
Cluster (2): 0.1343
+
87 20 0.995 475
-

-
Cluster (30): 0.1134
-
1204 2589 0.993 1551
+

+
Cluster (2): 0.1386
+
123 37 0.998 1097
-

-
Cluster (30): 0.1169
-
1021 2459 0.997 1357
-
-
-

-
Cluster (30): 0.1285
-
732 1910 0.994 89
-
-
-
-
-
Identity 6 has 3
-
-
-

-
Cluster (39): 0.0505
-
684 1813 1.000 115
-
-
-

-
Cluster (39): 0.0557
-
350 1127 0.999 79
-
-
-

-
Cluster (39): 0.0693
-
363 1148 0.994 43
-
-
-
-
-
Identity 29 has 3
-
-
-

-
Cluster (29): 0.0623
-
412 1264 0.998 395
-
-
-

-
Cluster (29): 0.1114
-
709 1872 0.994 32
-
-
-

-
Cluster (29): 0.1194
-
432 1330 0.999 127
-
-
-
-
-
Identity 31 has 3
-
-
-

-
Cluster (31): 0.0421
-
641 1742 0.996 322
-
-
-

-
Cluster (31): 0.1031
-
901 2184 0.999 90
-
-
-

-
Cluster (31): 0.1216
-
895 2180 0.997 53
-
-
-
-
-
Identity 37 has 3
-
-
-

-
Cluster (37): 0.0204
-
1152 2522 0.996 8
-
-
-

-
Cluster (37): 0.0252
-
874 2140 0.993 3
-
-
-

-
Cluster (37): 0.0700
-
877 2141 0.993 5
-
-
-
-
-
Identity 39 has 3
-
-
-

-
Cluster (39): 0.0431
-
1018 2459 0.998 1489
-
-
-

-
Cluster (39): 0.0469
-
1041 2461 0.999 1054
-
-
-

-
Cluster (39): 0.1135
-
930 2233 0.993 48
-
-
-
-
-
Identity 8 has 2
-
-
-

-
Cluster (43): 0.0562
-
391 1222 0.992 79
-
-
-

-
Cluster (43): 0.0587
-
752 1944 0.999 71
-
-
-
-
-
Identity 10 has 2
-
-
-

-
Cluster (59): 0.0267
-
1073 2466 0.998 1144
-
-
-

-
Cluster (59): 0.0812
-
680 1804 0.999 32
-
-
-
-
-
Identity 22 has 2
-
-
-

-
Cluster (22): 0.0366
-
164 661 0.999 40
-
-
-

-
Cluster (22): 0.0823
-
643 1743 0.999 40
-
-
-
-
-
Identity 26 has 2
-
-
-

-
Cluster (26): 0.0544
-
410 1263 0.998 8
-
-
-

-
Cluster (26): 0.0671
-
222 782 0.999 75
-
-
-
-
-
Identity 27 has 2
-
-
-

-
Cluster (27): 0.0634
-
318 1032 0.999 45
-
-
-

-
Cluster (27): 0.0642
-
1099 2470 1.000 323
-
-
-
-
-
Identity 34 has 2
-
-
-

-
Cluster (34): 0.0521
-
885 2161 0.998 310
-
-
-

-
Cluster (34): 0.0680
-
758 1953 0.999 22
-
-
-
-
-
Identity 7 has 1
-
-
-

-
Cluster (40): 0.0000
-
1164 2543 0.998 31
-
-
-
-
-
Identity 11 has 1
-
-
-

-
Cluster (68): 0.0000
-
941 2265 0.994 68
-
-
-
-
-
Identity 12 has 1
-
-
-

-
Cluster (79): 0.0000
-
1208 2591 0.997 900
-
-
-
-
-
Identity 32 has 1
-
-
-

-
Cluster (32): 0.0000
-
677 1799 0.998 158
-
-
-
-
-
Identity 33 has 1
-
-
-

-
Cluster (33): 0.0000
-
726 1897 0.999 44
-
-
-
-
-
Identity 35 has 1
-
-
-

-
Cluster (35): 0.0000
-
783 1986 1.000 3
-
-
-
-
-
Identity 36 has 1
-
-
-

-
Cluster (36): 0.0000
-
785 1987 1.000 770
-
-
-
-
-
Identity 38 has 1
-
-
-

-
Cluster (38): 0.0000
-
882 2148 0.997 133
-
-
-
-
-
Identity 40 has 1
-
-
-

-
Cluster (40): 0.0000
-
1055 2463 0.996 976
+

+
Cluster (2): 0.1708
+
125 39 1.000 162
diff --git a/ketrface/ketrface/config.py b/ketrface/ketrface/config.py
new file mode 100644
index 0000000..fb844a7
--- /dev/null
+++ b/ketrface/ketrface/config.py
@@ -0,0 +1,57 @@
+import os
+import json
+import collections
+
+def dict_merge(dct, merge_dct):
+ """ Recursive dict merge. Inspired by :meth:``dict.update()``, instead of
+ updating only top-level keys, dict_merge recurses down into dicts nested
+ to an arbitrary depth, updating keys. The ``merge_dct`` is merged into
+ ``dct``.
+ :param dct: dict onto which the merge is executed
+ :param merge_dct: dct merged into dct
+ :return: None
+ """
+ for k, v in merge_dct.items():
+ if (k in dct and isinstance(dct[k], dict) and isinstance(merge_dct[k], dict)): #noqa
+ dict_merge(dct[k], merge_dct[k])
+ else:
+ dct[k] = merge_dct[k]
+ return dct
+
+def read_config():
+ path = os.path.normpath(os.getcwd())
+ res = {}
+ file = None
+ while file == None:
+ try:
+ config_path = os.path.join(path, 'config', 'default.json')
+ print(f'Trying {config_path}')
+ file = open(config_path, 'r')
+ break
+ except:
+ before = path
+ path = os.path.normpath(os.path.join(path, '..'))
+ if before == path:
+ break
+
+ if file is None:
+ return res
+
+ data = json.load(file)
+ file.close()
+ dict_merge(res, data)
+
+ try:
+ config_path = os.path.join(path, 'config', 'local.json')
+ file = open(config_path, 'r')
+ except:
+ file = None
+
+ if file is None:
+ return res
+
+ data = json.load(file)
+ file.close()
+ dict_merge(res, data)
+
+ return res