yml23 wrote:I do want to create a node at every xyzdiam point.
This is the computational equivalent of empty resolution, but it's your decision. You'll
need to convert every adjacent pair of xyzdiam measurements into a separate
. You'll have to write your own code to do that translation--but is the result
worth the effort? Have you run a test to see how this differs from letting NEURON
handle all this for you? Specifically, pick a neurite with lots of diameter variation along
its length, and implement two models of it: one that you build your way, and another
that you build with a single series of pt3dadd statements. Insert pas, set Ra and Cm
to reasonable values, and use the d_lambda rule to discretize both. Then compare
the electrical properties of the two models: DC input resistance at either end, or
amplitude and time course of the impulse response at, say, 0.2 ms or longer.
I made these reconstructions specifically with diameter resolution in mind, and the fidelity of our model depends entirely on the accuracy of our morphological data.
Good, but have you considered all sources of error? Like fixation artifact,
which is often anisotropic and can introduce ~5% error into measurements of length
and diameter. Light microscopy has serious limitations, especially when cells are
HRP-filled. Remember, 0.1 um uncertainty about the diameter of a 1 um neurite
means 10% uncertainty about surface area, and 20% uncertainty about cross-
sectional area--and a lot of cell membrane that is "electrically seen" from the soma
is out on those fine dendrites. Also, reconstruction systems often impose their own
"quantization error" and lower limit of resolution on measurable diameter changes.
Then there's the fact that cross-sections generally aren't cylindrical anyway, which
wreaks havoc with trying to calculate axial resistance--who knows what % error this
introduces, but some of the profiles that are seen on EM look pretty scary. Not to
mention the quesiton of what values to use for cytoplasmic resistivity and specific
membrane capacitance--reported values for both span quite a range.
You might want to try this expeiriment: make a simple passive model of your cell
(let Ra = 80, cm = 1, and use the d_lambda rule to handle the spatial grid).
Then use NEURON's Impedance tools to examine its electrical properties (here's a tutorial
http://www.neuron.yale.edu/neuron/stati ... zclass.htm
Then change diameter by 0.1 um throughout and see what happens
forall for (x) diam+=0.1
forall for (x) diam-=0.1
Pay special attention to voltage transfer from dendrites to soma (Vin), and also
to input impedance (Zin), particularly in the distal dendrites.
Also see what happens when you perturb Ra or cm by +- 10%
forall for (x) cm*=1.1
(Ra is a section variable, so you don't have to specify it at each internal node).
Seems counterintuitive that it would be easier to go through an entire interpolation process with nseg and d_lambda than to simply use the data points from the .hoc file.
You're "simply using the data points from the hoc file" if you just let NEURON read all
the pt3dadd statements for each section and take care of computing area, etc., itself,
instead of forcing it to wrestle with thousands of little sections.