Documentation/Labs/Slicer Visualization module
Overview
This is a page introducing the Slicer Connectome Visualization project for adding new visualization extensions into 3DSlicer.
What do we want to visualize?
Visualizations are based on symmetric and normalized matrices with connectivity values that may be obtained from diffusion connectivity or resting state connectivity studies (region-to-region values).
The matrices represent a graph, where the edges are the connectivity values and the nodes are brain regions.
What do we mean by connectome?
The mapping of all neural connections within the brain is what we call a connectome.
Each connection is defined by its strength (visually it represents the thickness of the connection between two nodes) and this value is found in the matrices (edge files).
Goal
Implement two different modules into Slicer:
- 2D graph visualization of brain connectome
- 3D shape visualization of brain connectome
Details
User Inputs (3 ASCII files):
- Volume file
- Node file
- Edge file
The Node file and the Edge file will have to be adaptable formats, that is the reason why we want to use ASCII files. The Node file should include information about where the node is located.
Features:
- Python module (using VTK) and maybe C++
- Implement a 2D spherical graph visualization (may apply Hierarchical Edge Bundling), using matrices
- Custom graph view representing the associated matrix
(possible options: vtkMRMLGraphMarkupNode,vtkSlicerGraphRepresentation3D and associated widget (looking at vtkMRMLMarkupsCurveNode, vtkSlicerCurveRepresentation and vtkSlicerCurveWidget))
- Implement a 3D visualization tool that is faster than the BrainNetViewer and CIVILITY (based on Matlab).
- The 3D visualization module should offer the possibility to rotate around the connectome and zoom for more precision.
- Impose a minimum strength on the connectome connections