Connectome Viewer Documentation

Add a simple directed networkΒΆ

We want to add a simple directed network to an empty connectome file. In the IPython Shell, use the following code

import numpy as np
cfile.add_network_from_matrix_with_pos(name='Random Network', \
    matrix = np.random.random( (20,20) ), pos = np.random.random( (20, 3) ) * 10, \
    directed = True)

Activate this network by double-clicking on it (or right-click and activate). A Mayavi scene is generated and the network should be rendered. You can do this also with:

cfile.networks[0].active = True

Probably, you will need to update the scaling for the nodes:

cfile.networks[0].rendermanager.update_node_scale_factor(0.5)

In the Mayavi Visualization Tree, click on Connections (parent node is Connectivity Source). The Mayavi Object Editor show the changeable attributes. There, you can change the edge look. Tab: Glyph, Sub-Tab: Glyph Source. You can select Arrow Source under section Glyph Source to make the edges more appealing.

To get back the connectivity matrix, the following code will do:

cfile.networks[0].get_matrix()

You get a binary matrix back. But you can also specify what edge attribute you want to use. They must exist of course:

cfile.networks[0].get_matrix(weight_key = 'my_edge_key')

Internally, the graph is stored as a NetworkX Graph. This means that you can use all the features for analysis that are provided by the great NetworkX toolbox. The graph is here:

cfile.networks[0].graph

For example, calculate the clustering coefficients:

import networkx as nx
nx.clustering(cfile.networks[0].graph)