class visbrain.objects.VectorObj(name, arrows, data=None, inferred_data=False, select=None, color='black', dynamic=None, dynamic_order=1, dynamic_orientation='ascending', line_width=5.0, arrow_size=10.0, arrow_type='stealth', arrow_coef=1.0, arrow_norm=(5.0, 20.0), antialias=False, cmap='viridis', clim=None, vmin=None, under='gray', vmax=None, over='red', transform=None, parent=None, verbose=None, _z=-10.0, **kw)[source][source]

Create a vector object.


Name of the vector object.

arrowsarray_like, tuple, list

The position of arrows. Use either :

  • A list (or tuple) of two arrays with identical shapes (N, 3). The first array specify the (x, y, z) position where arrows start and the second the (x, y, z) position of the end of each arrow.

  • Alternatively to the point above, an array of type [(‘start’, float, 3), (‘end’, float, 3)] can also be used.

  • An array of type [(‘vertices’, float, 3), (‘normals’, float, 3)]. This method use the normals to vertices to inferred the arrow locations. In addition, if data is not None, data is used to inferred the arrow length.

dataarray_like | None

Attach some data to each vector. This data can be used to inferred the color.

inferred_databool | False

If the arrows input use the (start, end) method and if inferred_data is set to True, the magnitude of each vector is used as data.

selectarray_like | None

An array of boolean values to select some specifics arrows.

colorarray_like/tuple/string | ‘black’

If no data are provided, use this parameter to set a unique color for all vectors.

dynamictuple | None

Use a dynamic transparency method. The dynamic input must be a tuple of two float between [0, 1]. Vectors with stronger associated data are going to be set more opaque.

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

line_widthfloat | 5.

Line width of each vector.

arrow_sizefloat | 10.

Size of the arrow-head.

arrow_typestring | ‘stealth’

The arrow-head type. Use either ‘stealth’, ‘curved’, ‘angle_30’, ‘angle_60’, ‘angle_90’, ‘triangle_30’, ‘triangle_60’, ‘triangle_90’ or ‘inhibitor_round’.

arrow_coeffloat | 1.

Use this coefficient to define longer arrows. Must be a float superior to 1.

arrow_normtuple | (5., 20.)

Control arrow length for arrows defined using vertices and normals.

antialiasbool | False

Use smoothed lines.

cmapstring | ‘viridis’

The colormap to use (if data is not None).

climtuple | None

Colorbar limits. If None, the (max, min) of data is used (if data is not None).

vminfloat | None

Minimum threshold (if data is not None).

understring | ‘gray’

Color for values under vmin (if data is not None).

vmaxfloat | None

Maximum threshold (if data is not None).

overstring | ‘red’

Color for values over vmax (if data is not None).

transformVisPy.visuals.transforms | None

VisPy transformation to set to the parent node.

parentVisPy.parent | None

Markers 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 VectorObj
>>> n_vector = 10
>>> arrows = [np.random.rand(n_vector, 3), np.random.rand(n_vector, 3)]
>>> data = np.random.uniform(-10, 10, (n_vector))
>>> v = VectorObj('Vector', arrows, data=data, antialias=True)
>>> v.preview(axis=True)


__init__(self, name, arrows[, data, …])


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

Animate the object.


Get a copy of the object.


Tree description.

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.


Fonction to run when an update is needed.

update_from_dict(self, kwargs)

Update attributes from a dictionary.

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 arrow_size

Get the arrow_size value.

property arrow_type

Get the arrow_type value.

property cmap

Get the cmap value.


Get a copy of the object.

property data_folder

Get the data_folder value.

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.

Examples using visbrain.objects.VectorObj