Getting Started

First things first. We are going to use tvb-data which is present within the distribution (at TVB_Distribution/tvb_data/Lib/site-packages/tvb-data) or it can be downloaded from here. Other than that, please follow this link to download the project.


This tutorial presents the basic steps to upload a project, and share data with other users and/or link data to other TVB projects. After this tutorial you should be able to import a new dataset, create, import, export and delete a project and share your data with among your projects or with a colleague.

Adding A New User

In this exercise we will assume that multiple users are working with the same TVB installation.

  1. By default your are the Admin user.

  2. Change the admin email.

  1. Create a user for someone else by registering a new user.

  1. You’ll receive a notification email.

  2. Make sure the new user has been validated.

  1. Login with the Admin account.

Creating, Importing, Exporting and Deleting Projects

We assume that you have already created an account on your machine. If not, you can always work with the default account admin.

Normally when you start TVB you should have the Default Project from tvb_data already imported. If you don’t have it, go to step 4 to see how you can import a new project.

  1. Go to Project > List of all projects.

  2. On the right column, bottom corner, click on Create new project.

Click on Save Changes
  1. Choose a project name (e.g. NewProject) and optionally add a description as well. On the right column, bottom corner, click on Save Changes when you are done.

Click on Save Changes

The new project will appear in the list of all projects.

See the newly created project
  1. If you wish to import a project, on the right column, bottom corner, click on Import project structure.

Click on Import project structure

Chosing the project and then Click on Upload.

Click on Select files
  1. Be patient.

Be patient, it will take a few minutes.
  1. You can now see the project on the List of all projects.

The imported project can be seen in the list of all projects.
  1. If you wish to export a project, click on the pencil icon located left to the project name.

Pencil Icon

Clicking on it will open the Properties page of the project. Click on the Export Project button.

Project Properties page
  1. If you wish to delete a project, you click on the Delete button and the project will disappear from the list.

  2. Select one of the projects (e.g. You select a project by clicking on the star icon.

Select Current Project

Importing A Connectivity

  1. Assuming that you are working in the previously created project, upload a Connectivity in a zip file. Go to Projects > Data structure. Click on Upload. An overlay with the current supported formats will appear.

  2. Select Connectivity ZIP.

  3. From your downloaded tvb-data folder select the file found at tvb_data/connectivity/.

Supported data formats.
  1. Add a personalized tag to this newly created datatype (e.g. conn_96).

  2. Save the changes.

Add a personalized tag.

Export and Read a Datatype

  1. Select ModelingEpilepsy as your current project.

  2. Go to Project > Data structure

  3. Click on node_tr from TimeSeriesRegion.

  4. From the overlay, Export tab, download only the time series h5 file by clicking on TVB format (h5).

  5. If you wish to download not just the time series file, but the linked datatypes as well, choose the TVB Format with links option.

Export with or without links
  1. Rename the file if you want (e.g. LinkAndShare_TimeSeriesRegion).

From an ipython shell you can follow the commands presented below. You can also use a ipython notebook by going into TVB_Distribution/bin/ and start the jupyter_notebook script.

In [1]: import h5py
In [2]: import matplotlib.pyplot as plt

In [3]: f = h5py.File('LinkAndShare_TimeSeriesRegion.h5', 'r')

In [4]: f.keys()
Out[4]: <KeysViewHDF5 ['data', 'time']>

In [5]: f.attrs.keys()
<KeysViewHDF5 [

In[6]: plt.plot(f['time'], f['data'][:, 0, :, 0])
       plt.xlabel('time [ms]')
       plt.ylabel('amplitude [au]')
Out[6]: <matplotlib.text.Text at 0x118eb0ad0>

In Matlab :

>> hinfo = hdf5info('LinkAndShare_TimeSeriesRegion.h5');
>> hinfo.GroupHierarchy.Datasets.Name
ans =
ans =
>> hinfo.GroupHierarchy.Attributes.Name
>> data = hdf5read(hinfo.GroupHierarchy.Datasets(1));
>> time = hdf5read(hinfo.GroupHierarchy.Datasets(2));
>> plot(time, squeeze(data))
>> xlabel('time [ms]')
>> ylabel('amplitude [au]')

In R:

> data <- h5read("/Users/paupau/GithubProjects/tvb-handbook/
tvbworkshop/LinkAndShare_TimeSeriesRegion.h5", "data")

> time <- h5read("/Users/paupau/GithubProjects/tvb-handbook/
tvbworkshop/LinkAndShare_TimeSeriesRegion.h5", "time")

> data = drop(mydata)

> plot(mytime, data[,1], type="l")

More Documentation

Online help is available clicking on the image icons next to each entry. For more documentation on The Virtual Brain platform, please see Sanz_Leon_et_al, Woodman_et_al.


The official TVB website is All the documentation and tutorials are hosted on You’ll find our public repository at For questions and bug reports we have a users group!forum/tvb-users


Sanz-Leon P, Knock SA,, Woodman MM, Domide L, Mersmann J, McIntosh AR, Jirsa VK. The virtual brain: a simulator of primate brain network dynamics. Frontiers in Neuroinformatics, 7:10, 2013.


Woodman MM, Pezard L, Domide L, Knock SA, Salz-Leon P, McIntosh AR, Mersmann J, Jirsa VK. Integrating neuroinformatics tools in the virtual brain. Frontiers in Neuroinformatics, 8:36, 2014