MCPcopy Create free account
hub / github.com/MIT-SPARK/Clio / cluster_objects

Function cluster_objects

clio_batch/object_cluster.py:53–71  ·  view source on GitHub ↗
(full_nx, cluster_nx, task_features, cluster_config)

Source from the content-addressed store, hash-verified

51
52
53def cluster_objects(full_nx, cluster_nx, task_features, cluster_config):
54 if cluster_nx.number_of_nodes() <= 1 or cluster_nx.number_of_edges() == 0:
55 return [list(cluster_nx.nodes)]
56
57 ib_cluster_config = cluster.ClusterIBConfig(cluster_config)
58 ib_solver = cluster.ClusterIB(ib_cluster_config)
59
60 region_features = np.array(
61 [np.average(cluster_nx.nodes[x]["semantic_feature"], axis=1) for x in cluster_nx])
62 full_region_features = np.array(
63 [np.average(full_nx.nodes[x]["semantic_feature"], axis=1) for x in full_nx])
64 ib_solver.setup_py_x(region_features, task_features)
65 ib_solver.update_delta_as_part(full_region_features, task_features)
66 ib_solver.initialize_nx_graph(cluster_nx)
67 print("initial number of objects", ib_solver.nx_graph.number_of_nodes())
68 cluster_assignments = ib_solver.find_clusters()
69 print("number of objects after clustering",
70 ib_solver.nx_graph.number_of_nodes())
71 return cluster_assignments
72
73
74def update_dsg(G_dsg, cluster_assignments, task_features, threshold):

Callers 1

cluster_3dFunction · 0.85

Calls 4

setup_py_xMethod · 0.95
update_delta_as_partMethod · 0.95
initialize_nx_graphMethod · 0.95
find_clustersMethod · 0.95

Tested by

no test coverage detected