class visbrain.objects.ConnectObj(name, nodes, edges, select=None, line_width=3.0, color_by='strength', custom_colors=None, alpha=1.0, antialias=False, dynamic=None, dynamic_order=1, dynamic_orientation='ascending', cmap='viridis', clim=None, vmin=None, vmax=None, under='gray', over='red', transform=None, parent=None, verbose=None, _z=-10.0, **kw)[source][source]

Create a connectivity object.


The name of the connectivity object.


Array of nodes coordinates of shape (n_nodes, 3).

edgesarray_like | None

Array of ponderations for edges of shape (n_nodes, n_nodes).

selectarray_like | None

Array to select edges to display. This should be an array of boolean values of shape (n_nodes, n_nodes).

line_widthfloat | 3.

Connectivity line width.

color_by{‘strength’, ‘count’, ‘causal’}

Coloring method:

  • ‘strength’ : color edges according to their connection strength define by the edges input. Only the upper triangle of the connectivity array is considered.

  • ‘count’ : color edges according to the number of connections per node. Only the upper triangle of the connectivity array is considered.

  • ‘causal’ : color edges according to the connectivity strength but this time, the upper and lower triangles of the connectivity array in edges are considered.

custom_colorsdict | None

Use a dictionary to colorize edges. For example, {1.2: ‘red’, 2.8: ‘green’, None: ‘black’} turn connections that have a 1.2 and 2.8 strength into red and green. All others connections are set to black.

alphafloat | 1.

Transparency level (if dynamic is None).

antialiasbool | False

Use smoothed lines.

dynamictuple | None

Control the dynamic opacity. For example, if dynamic=(0, 1), strong connections will be more opaque than weaker connections.

dynamic_orderint | 1

If 1, the dynamic transparency is linearly modulated by the connectivity. If 2, the transparency follow a x**2 curve etc.

dynamic_orientationstr | ‘ascending’

Define the transparency behavior :

  • ‘ascending’ : from translucent to opaque

  • ‘center’ : from opaque to translucent and finish by opaque

  • ‘descending’ ; from opaque to translucent

cmapstring | ‘viridis’

Colormap to use if custom_colors is None.

vminfloat | None

Lower threshold of the colormap if custom_colors is None.

understring | None

Color to use for values under vmin if custom_colors is None.

vminfloat | None

Higher threshold of the colormap if custom_colors is None.

overstring | None

Color to use for values over vmax if custom_colors is None.

transformVisPy.visuals.transforms | None

VisPy transformation to set to the parent node.

parentVisPy.parent | None

Line object parent.


Verbosity level.

_zfloat | 10.

In case of (n_sources, 2) use _z to specify the elevation.

kwdict | {}

Optional arguments are used to control the colorbar (See ColorbarObj).


List of supported shortcuts :

  • s : save the figure

  • <delete> : reset camera


>>> import numpy as np
>>> from visbrain.objects import ConnectObj
>>> n_nodes = 100
>>> nodes = np.random.rand(n_nodes, 3)
>>> edges = np.random.uniform(low=-10., high=10., size=(n_nodes, n_nodes))
>>> select = np.logical_and(edges >= 0, edges <= 1.)
>>> c = ConnectObj('Connect', nodes, edges, select=select, cmap='inferno',
>>>                antialias=True)
>>> c.preview(axis=True)


__init__(self, name, nodes, edges[, select, …])


analyse_connections(self[, roi_obj, …])

Analyse connections.

animate(self[, step, interval, iterations])

Animate the object.


Get a copy of the object.


Tree description.

get_nb_connections_per_node(self[, sort, order])

Get the number of connections per node.

preview(self[, bgcolor, axis, xyz, show, …])

Previsualize the result.

record_animation(self, name[, n_pic, bgcolor])

Record an animated object and save as a *.gif file.


Render the canvas.

screenshot(self, saveas[, print_size, dpi, …])

Take a screeshot of the scene.

set_shortcuts_to_canvas(self, canvas)

Set shortcuts to a VisbrainCanvas.


Return a dictionary of all colorbar args.

to_kwargs(self[, addisminmax])

Return a dictionary for input arguments.


Update the line.

update_from_dict(self, kwargs)

Update attributes from a dictionary.

property alpha

Get the alpha value.

analyse_connections(self, roi_obj='talairach', group_by=None, get_centroids=False, replace_bad=True, bad_patterns=[-1, 'undefined', 'None'], distance=None, replace_with='Not found', keep_only=None)[source][source]

Analyse connections.

roi_objstring/list | ‘talairach’

The ROI object to use. Use either ‘talairach’, ‘brodmann’ or ‘aal’ to use a predefined ROI template. Otherwise, use a RoiObj object or a list of RoiObj.

group_bystr | None

Name of the column inside the dataframe for gouping connectivity results.

replace_badbool | True

Replace bad values (True) or not (False).

bad_patternslist | [-1, ‘undefined’, ‘None’]

Bad patterns to replace if replace_bad is True.

replace_withstring | ‘Not found’

Replace bad patterns with this string.

keep_onlylist | None

List of string patterns to keep only sources that match.


A Pandas DataFrame or a list of DataFrames if roi_obj is a list.

animate(self, step=1.0, interval='auto', iterations=-1)[source]

Animate the object.

Note that this method can only be used with 3D objects.

stepfloat | 1.

Rotation step.

intervalfloat | ‘auto’

Time between events in seconds. The default is ‘auto’, which attempts to find the interval that matches the refresh rate of the current monitor. Currently this is simply 1/60.

iterationsint | -1

Number of iterations. Can be -1 for infinite.

property cmap

Get the cmap value.

property color_by

Get the color_by value.


Get a copy of the object.

property data_folder

Get the data_folder value.

property dynamic

Get the dynamic value.

get_nb_connections_per_node(self, sort='index', order='ascending')[source][source]

Get the number of connections per node.

sort{‘index’, ‘count’}

Sort either by node index (‘index’) or according to the number of connections per node (‘count’).

order{‘ascending’, ‘descending’}

Get the number of connections per node

property line_width

Get the line_width value.

property name

Get the name value.

property parent

Get the parent value.

preview(self, bgcolor='black', axis=False, xyz=False, show=True, obj=None, size=(1200, 800), mpl=False, **kwargs)[source]

Previsualize the result.

bgcolorarray_like/string/tuple | ‘black’

Background color for the preview.

axisbool | False

Add x and y axis with ticks.

xyzbool | False

Add an (x, y, z) axis to the scene.

objVisbrainObj | None

Pass a Visbrain object if you want to use the camera of an other object.

sizetuple | (1200, 800)

Default size of the window.

mplbool | False

Use Matplotlib to display the object. This result in a non interactive figure.

kwargsdict | {}

Optional arguments are passed to the VisbrainCanvas class.

record_animation(self, name, n_pic=10, bgcolor=None)[source]

Record an animated object and save as a *.gif file.

Note that this method :

  • Can only be used with 3D objects.

  • Requires the python package imageio


Name of the gif file (e.g ‘myfile.gif’)

n_picint | 10

Number of pictures to use to render the gif.

bgcolorstring, tuple, list | None

Background color.


Render the canvas.


Array of shape (n_rows, n_columns, 4) where 4 describes the RGBA components.

screenshot(self, saveas, print_size=None, dpi=300.0, unit='centimeter', factor=None, region=None, autocrop=False, bgcolor=None, transparent=False, obj=None, line_width=1.0, **kwargs)[source]

Take a screeshot of the scene.

By default, the rendered canvas will have the size of your screen. The screenshot() method provides two ways to increase to exported image resolution :

  • Using print_size, unit and dpi inputs : specify the size of the image at a specific dpi level. For example, you might want to have an (10cm, 15cm) image at 300 dpi.

  • Using the factor input : multiply the default image size by this factor. For example, if you have a (1920, 1080) monitor and if factor is 2, the exported image should have a shape of (3840, 2160) pixels.


The name of the file to be saved. This file must contains a extension like .png, .tiff, .jpg…

print_sizetuple | None

The desired print size. This argument should be used in association with the dpi and unit inputs. print_size describe should be a tuple of two floats describing (width, height) of the exported image for a specific dpi level. The final image might not have the exact desired size but will try instead to find a compromize regarding to the proportion of width/height of the original image.

dpifloat | 300.

Dots per inch for printing the image.

unit{‘centimeter’, ‘millimeter’, ‘pixel’, ‘inch’}

Unit of the printed size.

factorfloat | None

If you don’t want to use the print_size input, factor simply multiply the resolution of your screen.

regiontuple | None

Select a specific region. Must be a tuple of four integers each one describing (x_start, y_start, width, height).

autocropbool | False

Automaticaly crop the figure in order to have the smallest space between the brain and the border of the picture.

bgcolorarray_like/string | None

The background color of the image.

transparentbool | False

Specify if the exported figure have to contains a transparent background.

objVisbrainObj | None

Pass a Visbrain object if you want to use the camera of an other object for the sceen rendering.

kwargsdict | {}

Optional arguments are passed to the VisbrainCanvas class.

property transform

Get the transform value.

property visible_obj

Get the visible_obj value.