Skip to main content

Advertisement

Detailed visualization and morphometric analysis of reconstructed neurons using Blender and Python

Article metrics

  • 1657 Accesses

Topology and functional features are two related aspects in a neuron. Understanding and measuring the neuron's topology is therefore an important step in inferring and constraining its functional properties. Unfortunately the sheer complexity of most neuron's structures makes it virtually impossible to describe the topology richness in just a handful of parameters. Ultimately, the best way to describe a neuron's topology is by plainly performing reconstruction and visualizing it in a virtual 3D space. Here we present a collection of scripts, written in python programming language, which use Blender for 3D visualization. Blender is a well established free open source 3D content creation suite, available for all major operating systems under the GNU General Public

License. The main script is able to read the ASC file format from Neurolucida (MicroBrightField, Inc.), the most commonly used system for single neuron reconstruction, and parse the following structures: cell body contour, axonal trees, dendritic trees, spines and varicosities. The script offers several options for rendering each of these structures: levels of detail for each structure, type of cell body representation, level of interpolation in trees for smoother representation, which types of structures should be rendered, etc. All trees (axonal and dendritic) are created using an algorithm which produces a single mesh for each tree. The tree mesh is built in sequence, with each new raw 3D point being used to pull and grow the mesh towards the new point. Interpolation, if selected, uses cubic Bezier curves to smooth tree curvatures. The construction of the models from the raw data is very fast and trees take only a few seconds to be built and rendered, even if they are made up of several thousand 3D points. Varicosities are slower to render and a neuron with a few thousand varicosities can take several minutes to be reconstructed. The graphical user interface (GUI) for the main script and a snapshot of a reconstructed neuron visualized with the script, are shown in Figure 1.

Figure 1
figure1

Rendered neuron using the visualization script. Blue and red spheres represent varicosities. The script's GUI is shown in the bottom right.

In addition to the main script, a collection of python functions were created to perform measurements and calculations on the parsed neuron data. These functions are accessible through an interactive python command window and they allow, among other things, calculation of varicosities densities, fiber lengths and inter-spine distances. The scripts can easily be extended to incorporate new functions.

Acknowledgements

This work was supported in part by Fundação para a Ciência e a Tecnologia (FCT) through the Centro de Matemática da Universidade do Porto (http://www.fc.up.pt/cmup/).

Author information

Correspondence to Paulo Aguiar.

Rights and permissions

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and Permissions

About this article

Cite this article

Aguiar, P., Szucs, P. Detailed visualization and morphometric analysis of reconstructed neurons using Blender and Python. BMC Neurosci 12, P323 (2011) doi:10.1186/1471-2202-12-S1-P323

Download citation

Keywords

  • Tree Mesh
  • Bezier Curve
  • Python Programming Language
  • Reconstructed Neuron
  • Free Open Source