| Literature DB >> 21713110 |
Stephan Gerhard1, Alessandro Daducci, Alia Lemkaddem, Reto Meuli, Jean-Philippe Thiran, Patric Hagmann.
Abstract
Advanced neuroinformatics tools are required for methods of connectome mapping, analysis, and visualization. The inherent multi-modality of connectome datasets poses new challenges for data organization, integration, and sharing. We have designed and implemented the Connectome Viewer Toolkit - a set of free and extensible open source neuroimaging tools written in Python. The key components of the toolkit are as follows: (1) The Connectome File Format is an XML-based container format to standardize multi-modal data integration and structured metadata annotation. (2) The Connectome File Format Library enables management and sharing of connectome files. (3) The Connectome Viewer is an integrated research and development environment for visualization and analysis of multi-modal connectome data. The Connectome Viewer's plugin architecture supports extensions with network analysis packages and an interactive scripting shell, to enable easy development and community contributions. Integration with tools from the scientific Python community allows the leveraging of numerous existing libraries for powerful connectome data mining, exploration, and comparison. We demonstrate the applicability of the Connectome Viewer Toolkit using Diffusion MRI datasets processed by the Connectome Mapper. The Connectome Viewer Toolkit is available from http://www.cmtk.org/Entities:
Keywords: connectome; connectomics; data management; multi-modal data; network analysis; neuroimaging; python; visualization
Year: 2011 PMID: 21713110 PMCID: PMC3112315 DOI: 10.3389/fninf.2011.00003
Source DB: PubMed Journal: Front Neuroinform ISSN: 1662-5196 Impact factor: 4.081
Figure 1General processing stages of a connectome workflow. The Connectome Viewer Toolkit currently supports the workflow highlighted in yellow. Mapping streams for structural data, such as the Connectome Mapper, or functional data may converge to a connectome file and can be further managed, analyzed, and visualized with the Connectome Viewer. Connectome files may be reused in other frameworks for analysis and visualization tasks.
Figure 2The Connectome File Format Container. The connectome objects with reference to their primary data and metadata are depicted as small boxes. They are stored in a connectome file, represented by the open big box. After data manipulation, the connectome file can be compressed and shared with collaborators or sent to databases.
The variety of connectome objects the CFF supports.
| Object types | Description |
|---|---|
| CMetadata | The CMetadata object describes metadata relevant to contents of the whole connectome file. We use relevant parts of the Dublin Core Metadata Terms specification ( |
| CNetwork | Networks of any sort can be stored. For MR structural connectomes, nodes represent brain regions and edges represent fiber tractography derived connections. The possibility of storing an arbitrary number of attributes per node and edge allows, for example, brain region nodes to point to ontologies that define them uniquely. |
| CVolume | Volumetric, voxel-based datasets are widely used in the neuroimaging community to store many different measurement modalities. |
| CSurface | Surface-based datasets are usually stored as triangular meshes. They are often extracted from an underlying volumetric segmentation. |
| CTrack | Deterministic tractography creates sets of single polygonal lines. |
| CData | Data of any type that does not fit into any other connectome object category. |
| CScript | Visualization and analysis procedures in the form of executable scripts. They may serve as provenance information for processed data. |
| CTimeseries | There are plenty of time series related formats which makes it difficult to support a general one. We support generic data array containers that can store arbitrary time-series data. |
| CImagestack | Series of 2D images not simply representable in volume-based formats. |
The connectome objects are a wrapping mechanism, extending single data files by further annotations. Formats lists the file formats that are supported for reading and writing through the Connectome File Format Library. Types is a freely defined string. It usually denotes the measurement modality and is retrieved from controlled vocabularies.
Figure 6The content of a .
Figure 3Networks are represented using the GraphML file format. The storage of an arbitrary number of attributes on the nodes and edges is possible. For instance, nodes denoting brain regions may link to semantic frameworks where definitions, delineation criteria, and literature references given. Standardized node positions are useful in graph layouting for comparison.
Figure 4Relationship between multi-modal connectome objects. Correspondence is established with unique (integer) identifiers between the nodes of a network, the ROI in a volumetric dataset, and the surface mesh. Analogically, a network edge has the same identifier as the fiber tracts that connect such two brain regions.
Connectome Viewer library dependencies. When using NeuroDebian for the installation, all required dependencies are installed automatically.
| Package | Version | Short description |
|---|---|---|
| Envisage | >= 3.1.2 | Application-building framework similar to the Eclipse framework. Envisage is a system to define, register and use plugins to build complete applications. It is part of the Enthought Tool Suite. |
| Traits/TraitsUI | >= 3.4.0 | Extends the Python type declarations for improved initialization, validation, and notification. TraitsUI provides GUI-creation methods for Traits-based objects. |
| Mayavi | >= 3.3.2 | 3D Scientific Data Visualization and Plotting. For easy and interactive visualization of data and seamless integration in Envisage-based applications. Mayavi uses Traited VTK exposing a Pythonic API to VTK. |
| Chaco | >= 3.3.1 | Interactive 2D plotting environment using Traits and TraitsUI. |
| IPython | >= 0.10 | An enhanced interactive shell environment for scientific computing. |
| Fos | >= 0.1 | A lightweight package for scientific 3D visualization ( |
| cfflib | >= 2.0 | The Connectome File Format Library. It provides functionality for manipulation of connectome files and depends on Nibabel, NumPy, and NetworkX. |
| Nibabel | >= 1.1.0 | General library for reading and writing many neuroimaging file formats. |
| NumPy | >= 1.3 | Homogenous, multi-dimensional array support for different data types with manipulation, and processing routines. |
| NetworkX | >= 1.4 | Data structures and algorithms for complex network analysis. |
Figure 5The general processing stages of the Connectome Mapper. This pipeline is an example implementation of a structural connectome mapping stream. Here, two processing streams dealing separately with brain region (node) and white matter (edge) information eventually converge into the connectome of one particular subject.
Figure 7Connectome File View as a Connectome Viewer widget. The treeview gives a convenient user interface to deal with connectome objects contained in a connectome file. Data files are loaded into memory by double-clicking. Single tree nodes can be dragged to the IPython shell for data inspection and scripting.
Figure 8The Connectome Viewer GUI. The main application is shown with the placeable widgets contributed by the core plugins. (A) The Connectome File View shows a treeview of the contents of a loaded connectome file. (B) The Mayavi Visualization Tree manages the visualization objects and scenes in a pipeline. (C) The ScriptEditor shows scripts generated with the Code Oracle with syntax highlighting. They can be manipulated and run in the IPython console. (D) The Mayavi Scene displays the visualized data. (E) The IPython shell is integrated as a widget. It exposes the loaded connectome file and other objects for interactive scripting and data inspection. (F) The Namespace widget displays the variables and packages currently loaded in memory and accessible in the IPython Shell.
Figure 9Node degree display on the surface of an inflated left hemisphere (left). The right hemisphere and parts of the medial surface of the left hemisphere are clipped using the Mayavi DataSet Clipper. A set of left hemispheric cortical and subcortical regions is visible. The node degree of each region is coded in color. Blue corresponds to a low degree, green to a medium degree, and red to a high degree. The Connection Matrix Viewer (right). Switching between edge values and highlighting of the edge value ranges is possible. The From and To labels, and edge values are updated automatically when moving over the matrix with the mouse cursor.
Figure 10Cortico-cortico U-shaped fibers generated with a Code Oracle script. The method to extract fibers from a subject uses criteria for fiber start and endpoint closeness, fiber curvature. The local skeleton clustering procedure (Garyfallidis et al., 2011) is used for the cluster coloring. The extracted U-fibers are cortical short distance connections hypothesized to contribute to the cortical small world network property (Bassett and Bullmore, 2006).
Figure 11Network PDF Report. Reports can be automatically generated using the Code Oracle “Network Report.” The layout and report content can be adapted and extended with required results.
Figure 12Brain Connectivity Hairball. Display of the whole connectivity information at once does not allow for any sensible interpretation. Interactive manipulation of visualization parameters such as node position and coloring enables data exploration. Nodes are located here at the center of gravity of their underlying inflated brain region mesh. Nodes are scaled and colored according to their k-core number. The k-core number was computed using NetworkX in the IPython shell. The numbers were reused as a parameter to update the visualization interactively. Segregation of nodes with high k-core number at particular regions may be visible (Hagmann et al., 2008).