ModelDB is moving. Check out our new site at The corresponding page is

Constructed Tessellated Neuronal Geometries (CTNG) (McDougal et al. 2013)

 Download zip file 
Help downloading and running models
We present an algorithm to form watertight 3D surfaces consistent with the point-and-diameter based neuronal morphology descriptions widely used with spatial electrophysiology simulators. ... This (point-and-diameter) representation is well-suited for electrophysiology simulations, where the space constants are larger than geometric ambiguities. However, the simple interpretations used for pure electrophysiological simulation produce geometries unsuitable for multi-scale models that also involve three-dimensional reaction–diffusion, as such models have smaller space constants. ... Although one cannot exactly reproduce an original neuron's full shape from point-and-diameter data, our new constructive tessellated neuronal geometry (CTNG) algorithm uses constructive solid geometry to define a plausible reconstruction without gaps or cul-de-sacs. CTNG then uses “constructive cubes” to produce a watertight triangular mesh of the neuron surface, suitable for use in reaction–diffusion simulations. ..."
1 . McDougal RA, Hines ML, Lytton WW (2013) Water-tight membranes from neuronal morphology files. J Neurosci Methods 220:167-78 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s):
Gap Junctions:
Simulation Environment: NEURON; C or C++ program; Python; Cython;
Model Concept(s): Methods;
Implementer(s): McDougal, Robert [robert.mcdougal at];
CTNG (Constructive Tessellated Neuronal Geometry) is a tool for
constructing a 3d tesselation of a neuron's surface from
point-diameter data.

Before use: compile the C and Cython routines:

    cd geometry3d
    python build_ext --inplace

To use (for now displays the neuron, but could easily write data to a file):

    python FILENAME_IN [FILENAME_OUT] [dx]
where neuron_file is the name of the source morphology.


    python Vn03082006-0-D.ASC out.tri 0.25

The first line of an output file lists the number of triangles and the area.

Each triangle is listed on its own line in the following format:

    x1, y1, z1,    x2, y2, z2,    x3, y3, z3


Most of the figures for the CTNG paper were made using the morphology from


2012-12-10    sphere tests for contains_surface is primary
              bugfix for case where no output file specified
              lowered minimum chunk width from 100 to 20 voxels

2013-01-21    refactoring, bugfixes
              surfaces now provably watertight (last change introduced holes)

2013-10-05    fix to extreme points of soma (was using axis, not the soma data)

2016-05-31    commented out some printfs and changed a tuple to a list to make
              it compile with current cython and python code

              now checking filenames and using the SWC loader if a .swc file
              is loaded

Loading data, please wait...