vtkmodules.util.graph#

Pythonic API for VTK graph and tree classes.

Adds iteration, len, repr, and convenient accessors::

g = vtkMutableDirectedGraph()
# ... build graph ...
len(g)                          # vertex count
for v in g:                     # iterate vertex ids
for s, t, eid in g.edges:       # iterate edges as namedtuples
for n in g.neighbors(5):        # adjacent vertex ids
g.vertex_data                   # vtkDataSetAttributes
g.edge_data                     # vtkDataSetAttributes

# Mutable graph construction:
g = vtkMutableDirectedGraph()
g.edges = np.array([[0, 1], [1, 2], [0, 3]])
g.vertex_data = {"weight": np.array([1.0, 2.0, 3.0, 4.0])}
g.edge_data = {"cost": np.array([0.5, 1.5, 2.5])}

# Tree-specific:
t.root                          # root vertex id
for c in t.children(v):         # child vertex ids
t.parent(v)                     # parent vertex id
t.is_leaf(v)                    # bool

Module Contents#

Classes#

Functions#

_set_arrays

Populate a vtkDataSetAttributes from a dict of {name: array}.

Data#

API#

vtkmodules.util.graph.Edge#

‘namedtuple(…)’

class vtkmodules.util.graph._GraphMixin#
__len__()#
__iter__()#
__repr__()#
property vertices#
property edges#
property vertex_data#
property edge_data#
neighbors(v)#
out_edges(v)#
in_edges(v)#
degree(v)#
out_degree(v)#
in_degree(v)#
to_networkx()#

Convert to a networkx graph.

Returns an nx.DiGraph for directed graphs or nx.Graph for undirected graphs. Vertex and edge data arrays are copied as node/edge attributes.

class vtkmodules.util.graph._MutableGraphMixin#

Bases: vtkmodules.util.graph._GraphMixin

property edges#
property vertex_data#
property edge_data#
from_networkx(nx_graph)#

Populate this graph from a networkx graph.

Nodes must be contiguous integers 0..N-1. Use networkx.convert_node_labels_to_integers() first if needed.

Existing vertices, edges, and data are replaced.

vtkmodules.util.graph._set_arrays(dsa, arrays, num_tuples)#

Populate a vtkDataSetAttributes from a dict of {name: array}.

class vtkmodules.util.graph._TreeMixin#

Bases: vtkmodules.util.graph._GraphMixin

property root#
parent(v)#
children(v)#
is_leaf(v)#
level(v)#
__repr__()#
class vtkmodules.util.graph.DirectedGraph#

Bases: vtkmodules.util.graph._GraphMixin, vtkmodules.vtkCommonDataModel.vtkDirectedGraph

class vtkmodules.util.graph.MutableDirectedGraph#

Bases: vtkmodules.util.graph._MutableGraphMixin, vtkmodules.vtkCommonDataModel.vtkMutableDirectedGraph

class vtkmodules.util.graph.UndirectedGraph#

Bases: vtkmodules.util.graph._GraphMixin, vtkmodules.vtkCommonDataModel.vtkUndirectedGraph

class vtkmodules.util.graph.MutableUndirectedGraph#

Bases: vtkmodules.util.graph._MutableGraphMixin, vtkmodules.vtkCommonDataModel.vtkMutableUndirectedGraph

class vtkmodules.util.graph.DirectedAcyclicGraph#

Bases: vtkmodules.util.graph._GraphMixin, vtkmodules.vtkCommonDataModel.vtkDirectedAcyclicGraph

class vtkmodules.util.graph.Tree#

Bases: vtkmodules.util.graph._TreeMixin, vtkmodules.vtkCommonDataModel.vtkTree