class visbrain.objects.VolumeObj(name, vol=None, hdr=None, method='mip', threshold=0.0, cmap='OpaqueGrays', select=None, transform=None, parent=None, preload=True, verbose=None, **kw)[source][source]

Create a 3-D volume object.

name : string

Name of the volume object. If name is ‘brodmann’, ‘aal’ or ‘talairach’ a predefined volume object is used and vol, index and label are ignored. The name input can also be the path to an nii.gz file.

vol : array_like

The volume to use. Should be a 3-d array.

hdr : array_like | None

Matrix transformation to apply. hdr should be a (4, 4) array.

method : {‘mip’, ‘translucent’, ‘additive’, ‘iso’}

Volume rendering method. Default is ‘mip’.

threshold : float | 0.

Threshold value for iso rendering method.

cmap : {‘Opaquegrays’, ‘TransFire’, ‘OpaqueFire’, ‘TransGrays’}

Colormap to use.

select : list | None

Select some structures in the volume.

transform : VisPy.visuals.transforms | None

VisPy transformation to set to the parent node.

parent : VisPy.parent | None

Volume object parent.

kw : dict | {}

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


List of supported shortcuts :

  • s : save the figure
  • <delete> : reset camera


>>> from visbrain.objects import VolumeObj
>>> select = [4, 6]  # select Brodmann area 4 and 6
>>> v = VolumeObj('brodmann', method='iso', select=select)
>>> v.preview(axis=True)


__init__(name[, vol, hdr, method, …]) Init.
describe_tree() Tree description.
list([file]) Get the list of installed volumes.
pos_to_slice(pos[, axis, hdr]) Return the slice from position.
preview([bgcolor, axis, xyz, show, obj, size]) Previsualize the result.
remove() Remove the volume template.
save([tmpfile]) Save the volume template.
screenshot(saveas[, print_size, dpi, unit, …]) Take a screeshot of the scene.
set_data(vol[, hdr, threshold, cmap, …]) Set data to the volume.
set_shortcuts_to_canvas(canvas) Set shortcuts to a VisbrainCanvas.
slice_to_pos(sl[, axis, hdr]) Return the position from slice in the volume space.
to_dict() Return a dictionary of all colorbar args.
to_kwargs([addisminmax]) Return a dictionary for input arguments.
update() Update the volume.
update_from_dict(kwargs) Update attributes from a dictionary.

Get the cmap value.


Get the list of installed volumes.


Get the method value.


Get the name value.


Get the parent value.

pos_to_slice(pos, axis=None, hdr=None)[source]

Return the slice from position.

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

Previsualize the result.

bgcolor : array_like/string/tuple | ‘black’

Background color for the preview.

axis : bool | False

Add x and y axis with ticks.

xyz : bool | False

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

obj : VisbrainObj | None

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

size : tuple | (1200, 800)

Default size of the window.

kwargs : dict | {}

Optional arguments are passed to the VisbrainCanvas class.


Remove the volume template.


Save the volume template.

screenshot(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.
saveas : str

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

print_size : tuple | 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.

dpi : float | 300.

Dots per inch for printing the image.

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

Unit of the printed size.

factor : float | None

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

region : tuple | None

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

autocrop : bool | False

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

bgcolor : array_like/string | None

The background color of the image.

transparent : bool | False

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

obj : VisbrainObj | None

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

kwargs : dict | {}

Optional arguments are passed to the VisbrainCanvas class.

set_data(vol, hdr=None, threshold=None, cmap=None, method=None, select=None)[source][source]

Set data to the volume.

slice_to_pos(sl, axis=None, hdr=None)[source]

Return the position from slice in the volume space.


Get the threshold value.


Get the transform value.


Get the visible_obj value.

Examples using visbrain.objects.VolumeObj