Questions about geometry & area(x)

Managing anatomically complex model cells with the CellBuilder. Importing morphometric data with NEURON's Import3D tool or Robert Cannon's CVAPP. Where to find detailed morphometric data.
Post Reply
Posts: 14
Joined: Thu Sep 10, 2015 1:34 pm

Questions about geometry & area(x)

Post by agmccrei » Fri Sep 11, 2015 2:44 am

I'm having some trouble understanding how area(x) is calculated in the morphology of my model. My basic understanding is that when a morphology is imported into NEURON, it is specified using the pt3dadd function, which specifies the segments as truncated cones/frusta. Furthermore, despite having many pt3dadd data points, this seems to get reduced when using the d_lambda rule to compartmentalize the model (e.g. 49 pt3dadd data points in one section of my model became reduced to 11 compartments). My first question, is how diameters are computed (i.e. based on the diameters declared by the pt3dadd function) for these "merged" compartments? When calculating the average diameter for the pt3dadd data points that merged into one compartment, I see that it does not exactly equate to the diameter that is now listed in that segment.

Secondly, since the segments in my model are presumably truncated cones, I expected that the equation of the lateral surface area of a truncated cone should equate to the surface area computed by area(x). However I noticed that for a single segment, this value is larger than when using area(x). Of course, this discrepancy (obviously) becomes amplified when computing this for an entire dendritic tree (e.g. in one dendritic tree the value computed using the equation for the lateral surface area of a truncated cone was almost 60um^2 larger than when using area(x)). On the other hand, if using the equation for the lateral surface area of a cylinder the difference becomes smaller (e.g. in the same dendritic tree, the value computed using the equation for the lateral surface area of a cylinder was only 5um^2 smaller than when using area(x)). I have also read that area(x) calculates the integral of the surface area, which, apparently, does not necessarily equate to the normal equations of surface area(?). With this in mind, I have a couple more questions:
Does area(x) in fact calculate the integral of the surface area, and, if so, why is this measure more suitable to use than the normal surface area equation?
Does area(x) distinguish between when it should be calculating a segment as a truncated cone or a cylinder? If not, and it assumes that all segments are cylinders, this may explain why the lateral surface area of a cylinder provided a closer answer to what was computed by area(x).

Several ways of calculating surface area in the segments:
oc>access dend[3]
oc>div = 1/nseg // Find the proportion of the first segment along dend[3]
oc>PI*((sqrt(((L*div)^2)+((diam(0)/2)-(diam(div)/2))^2))*((diam(0)/2)+(diam(div)/2))) // Lateral surface area of a truncated cone
oc>PI*diam(div)*L*div // Lateral surface area of a cylinder
oc>area(div) // Integral of the surface area(?)

Any help is much appreciated,

Alex GM

Site Admin
Posts: 5153
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine

Re: Questions about geometry & area(x)

Post by ted » Fri Sep 11, 2015 11:10 am

Good questions. Let me bring your attention to the discussion of 3-D specification of geometry in the Programmers' Reference ... f-geometry
especially this part:
The shape model used for a section when the pt3d list is non-empty is that of a sequence of truncated cones in which the pt3d points define the location and diameter of the ends. From this sequence of points, the effective area, diameter, and resistance is computed for each segment via a trapezoidal integration across the segment length. This takes into account the extra area due to sqrt(dx^2 + dy^2) for fast changing diameters (even degenerate cones of 0 length can be specified, ie. two points with same coordinates but different diameters) but no attempt is made to deal with centroid curvature effects on the area.
For more information about stylized and pt3d specification of geometry, please see the material in the Programmers' Reference that starts with
Conceptual Overview of Sections ... f-sections

You might find it helpful to construct a couple of simple test cases that have known answers (i.e. which you figure out for yourself) and then see if NEURON's area(), diam, and L return the values that you expect.

Post Reply