Sign up ×
Cognitive Sciences Stack Exchange is a question and answer site for practitioners, researchers, and students in cognitive science, psychology, neuroscience, and psychiatry. It's 100% free, no registration required.

I'm working on brain imaging (fMRI) and I'm looking for a way to plot brain effective connectivity (dynamic causal modeling) parameters between different brain regions in a 3D plot. The plotting software should have the following input and output:


The directed connections from each region to another are defined by a connectivity matrix (no-connections have a value of 0). The 3D coordinates of the brain regions are presented in another matrix, practically using the weighted mean MNI coordinates of the regions as their coordinates for visualization.


The connection strength would be signaled by the color of the sticks, and/or numerically. However, a first step could be simple 3D ball-and-stick diagram without connection parameters. Output as 2D vector or bitmap image: .ps, .eps, .tex, .png, .jpg, etc. The output would be used in a LaTeX document but also in other formats.

In the field of molecular analysis (with which I'm completely unfamiliar with), I noticed a lot of free and open-source software for creating ball-and-stick plots of molecules (some with publication-quality ray-tracing). Before reinventing the wheel (programming some intermediate software to convert MNI or Talairach 3D coordinates of brain regions to 3D spatial coordinates of atoms and writing them in some molecule file format for molecule ball-and-stick visualization software eg. RasMol to use it for brain connectivity visualization), I want to ask:

Is there a good (and preferibly free) software for brain connectivity visualization?

I have checked the examples of MayaVi, R and TikZ but neither of them has anything related to plotting ball-and-stick visualizations.

share|improve this question
Welcome to the site! Glad to have you, here. I have formatted your question slightly for readability (and added two tags), feel free to roll-back my edits if they do not preserve the spirit of your question. –  Artem Kaznatcheev Jun 3 '12 at 15:44
You can use Avogadro, molecular editor It comes with a Python scripting engine. If you want to invent your own thing, you can go with Blender and Python . Blender is also good at stunning animations (its easy to get started than VTK) but it would take a lot of time. If you need it in the long run, its worth trying. –  Ubermensch Jun 5 '12 at 5:47
@Ubermensch Do you know if in Avogadro it's possible to create "atoms" that have abnormal number of atom bindings (more than 7, something like 10...20), to permit the brain regions have more connections (that way I could use Avogadro to create the visual structure and then present the directed connectivity parameters as numeric data plotted next to each stick between each relevant pair of "atoms" (brain regions). –  nrz Jun 5 '12 at 18:32
@Ubermensch Answering to myself: Avogadro doesn't check the chemical 'validity' of a molecule given in a .cml file. So all kinds of "molecules" with atoms with hundreds of bindings seem to be possible (eg. a Buckminster fullerene with additional atom bindings, all atoms binded to one). As .cml is a XML file, it's very easy to create with almost any programming language. So I think Avogadro and "abnormal" "molecules" are the way to go for me in brain regions connectivity visualization at least for now. I believe adding text to images exported from Avogadro is feasible. –  nrz Jun 5 '12 at 21:02
@nrz Hope you got the answer. But I personally believe creating a 3D animated visualization framework would be the way to go to represent brain and its functions in the long term. –  Ubermensch Jun 6 '12 at 4:15

2 Answers 2

up vote 5 down vote accepted

Have you tried:

Also Nico Dosenbach has some amazing picture of brain connectivity in this paper The code is based on matlab and the plotting can be done in the caret software from the Van-Essen Lab.

share|improve this answer
+1 for BrainNetViewer, for its simplicity and very nice results. Also you will find helpful the thresholding utilities, which will make the visualization nicer. –  linello Dec 2 '14 at 13:34

Answering to my own question: Avogadro is a molecule editor, but for visualization purposes it does not check the validity of the molecule, thus permitting its usage in the creation of publication-quality 3D ball-and-stick models of any subject matter, such as brain connectivity networks. Avogadro reads several molecule file formats, for example .cml is an xml format and it's quite straight-forward to edit by hand or with almost any programming language. Avogadro can save the molecules in several molecule formats and it can export images as bitmap graphics (.png, .jpg, .bmp), as vector graphics (.pdf, .svg, .eps) or as POV-Ray file. You may want to check @Ubermensch's comments on Avogadro (and Blender) above.

For animated visualizations (video), Blender might be a good option.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.