Brain-view is designed to visualize bits of geometry - such as meshes representing the cortical surface - along with associated information, such as cortical thickness at every vertex, statistical maps, etc. It is based on Coin (Inventor), Qt, and the various MINC file formats.
What's new in version 2?
Version 2 is a complete rewrite of brain-view. The main motivation were to be able to deal with multiple objects, such as left and right surfaces, etc., and in the process clean up some of the cruft that had accumulated in the previous code-base. Not all features of brain-view 1 are included - there's no interaction with R, no painting ability, etc. All that is planned, however. For the moment only use brain-view2 if you want to experiment with it and help with the testing.
Obtaining the code
Brain-view is hosted at launchpad: https://launchpad.net/brain-view Go to the downloads section of that website to get the latest release, or, to stay most up to date, get the source code directly from Bazaar (the version control system):
bzr branch lp:~jason.lerch/brain-view/main
To build brain-view you will need:
- Qt version 4.x (development was done against 4.5, but seems to work on 4.4 and 4.3 as well).
- Coin 3.0. (http://coin3d.org - Coin 2.5 might also work with brain-view, but this has not been tested yet).
- Quarter (http://coin3d.org/lib/quarter/releases/1.0.0)
- MINC version 2.x, bicpl, and oobicpl (http://packages.bic.mni.mcgill.ca/tgz/)
brain-view is built using Qt's qmake. The basic steps are the following:
qmake MINCDIR=/path/to/minc QUARTERDIR=/path/to/quarter brain-view2.pro make
On Linux you will then have a binary called brain-view2 which can be copied where other such binaries live. On OS X you then have an application bundle that can be moved to the Applications folder.
Note that on many Linux distributions both qt3 and qt4 will be present. In that case make sure you are using the qmake associated with qt4 - on Ubuntu, for example, this can be done by using 'qmake-qt4' in place of the plain 'qmake'.
Start brain-view by double clicking on the brain-view2 icon or entering it on the command line. If started from the command line, it can take an arbitrary number of filenames corresponding to obj files (polyhedra only at the moment), files associated with the obj files (.txt or .vertstats files), and tag files. The order of the filenames matter, since .txt/.vertstats files have to follow the geometry file with which they are associated. Files can also be opened through the file menu once the application has started.
Below is a screenshot of brain-view in action:
There are three main areas to the application: area (1) is the rendering area, area (2) a hierarchical list detailing all of the surfaces and associated files, and area (3) containing properties associated with each item in the hierarchical list. In the example above two surfaces (left and right hemisphere for the same subject in this case) have been loaded, resulting in two geometry scenes visible in area (2). Below each geometry-scene is an entry for the surface itself - clicking on it will allow one to change the colour and opacity in the property window (the left surface having been set to an opacity of 0.75 in the above example). The right surface also has a vertstats file opened, which in this case contains a single column (Column0) describing the cortical thickness. Clicking on each column will cause that column to be mapped onto the surface using the colourmap shown in the property area. Different ranges for the colour mapping can be chosen by entering the desired values in the upper and lower range text boxes, and different colourmaps are selectable from the drop-down box.
If any bit of the scene is clicked on in the rendering area the information in the hierarchical list will update with the values at the selected location. You might have to scroll to the right in the hierarchical list to see it. Also note that the hierarchical list can be detached from the main window by selecting and dragging it (where it says "Resources") away from the main window. It can be redocked later through the same process.