Skip to content

Graph utils

torchmil.utils.degree(index, edge_weight=None, n_nodes=None)

Compute the degree of the adjacency matrix. Assumes that the graph is undirected.

Parameters:

  • index (ndarray) –

    Edge index of the adjacency matrix, shape (2, n_edges).

  • edge_weight (ndarray, default: None ) –

    Edge weight of the adjacency matrix, shape (n_edges,).

  • n_nodes (int, default: None ) –

    Number of nodes in the graph.

Returns:

  • degree ( ndarray ) –

    Degree of the adjacency matrix.


torchmil.utils.add_self_loops(edge_index, edge_weight=None, n_nodes=None)

Add self-loops to the adjacency matrix.

Parameters:

  • edge_index (ndarray) –

    Edge index of the adjacency matrix, shape (2, n_edges).

  • edge_weight (ndarray, default: None ) –

    Edge weight of the adjacency matrix, shape (n_edges,).

  • n_nodes (int, default: None ) –

    Number of nodes in the graph.

Returns:

  • new_edge_index ( ndarray ) –

    Edge index of the adjacency matrix with self-loops.

  • new_edge_weight ( ndarray ) –

    Edge weight of the adjacency matrix with self-loops.


torchmil.utils.normalize_adj(edge_index, edge_weight=None, n_nodes=None)

Normalize the adjacency matrix.

Parameters:

  • edge_index (ndarray) –

    Edge index of the adjacency matrix.

  • edge_weight (ndarray, default: None ) –

    Edge weight of the adjacency matrix.

  • n_nodes (int, default: None ) –

    Number of nodes in the graph.

Returns:

  • edge_weight ( ndarray ) –

    Edge weight of the normalized adjacency matrix.


torchmil.utils.build_adj(coords, feat=None, dist_thr=1.0, add_self_loops=False)

Build the adjacency matrix for a general graph given the coordinates and features of the nodes.

Parameters:

  • coords (ndarray) –

    Coordinates of the nodes.

  • feat (ndarray, default: None ) –

    Features of the nodes, used to compute the edge weights. If None, the adjacency matrix is binary.

  • dist_thr (float, default: 1.0 ) –

    Distance threshold to consider two nodes as neighbors. Default is 1.0.

  • add_self_loops (bool, default: False ) –

    Whether to add self-loops.

Returns:

  • edge_index ( ndarray ) –

    Edge index of the adjacency matrix.

  • edge_weight ( ndarray ) –

    Edge weight of the adjacency matrix