Hi,
I built up the anatomical model of a single neuron, which consists of multiple sections.
I am trying to get the x value at a certain point of a section while the distance from the soma to that point is known. I think that the opposit case (x is known and distance up to x is unknown) can be calculated simply by using the function of "distance(x)".
Now I am wondering if there is any builtin function of returning x value for the argument of distance from soma?
Thank you for your help.
Getting x at a certain distance from soma

 Site Admin
 Posts: 5810
 Joined: Wed May 18, 2005 4:50 pm
 Location: Yale University School of Medicine
 Contact:
Re: Getting x at a certain distance from soma
There is no such function. However, it is possible to identify which node lies closest to a specified "distance" from a particular reference point in a particular section. And the actual distance of that node from the reference point. What distance metric do you want (path distance or euclidean distance) and what reference point in the soma (the node at 0, 0.5, 1, or someplace else)?magpie wrote:I am trying to get the x value at a certain point of a section while the distance from the soma to that point is known.
. . .
any builtin function of returning x value for the argument of distance from soma?
Getting x at a certain distance from soma
By using the Impedance class, I try to measure the input resistance at any point in dendritic trees, which is apart from the reference point in the soma (0.5) by the same path distance. However It was difficult to conduct this analysis since .input(x) method in the class uses x variable in a particular section, not path distance.ted wrote:What distance metric do you want (path distance or euclidean distance) and what reference point in the soma (the node at 0, 0.5, 1, or someplace else)?
Thank you for your advice.

 Site Admin
 Posts: 5810
 Joined: Wed May 18, 2005 4:50 pm
 Location: Yale University School of Medicine
 Contact:
Re: Getting x at a certain distance from soma
The fundamental problem is that, like all compartmental simulators, NEURON computes solutions that are discretized not only in time but also in space. That is, it approximates the "continuous" physical system by a family of equations that describe membrane potential and other variables at discrete points in space. For NEURON, these points, which are also called nodes, are located at the ends of each section (range 0 and 1) and at evenly spaced positions within each section ((0.5 + i)/nseg, where i = 0..nseg1).
Thus the nodes sample space at a finite number of locations. However, for a "continuous" physical system the number of possible distances from any reference point is infinite. It follows that, given any nonzero x, the likelihood that any node in the model is exactly x distance away from any particular reference point in the model is vanishingly small (because the ratio {number of elements in a finite set}/{number of elements in an infinite set} is 0).
So if you need the value of a range variable at some location that falls between a pair of nodes, you must interpolate between the values at those nodes. Since NEURON has second order accuracy in space (error proportional to square of distance between adjacent internal nodes), its solutions can be treated as piecewise linear approximations to the physical system. That is, linear interpolation will give values that are also second order accurate.
Another issue to deal with is branching, which may cause there to be multiple locations that correspond to a particular distance from the reference point.
It shouldn't be difficult to devise an algorithm that, given a specified distance, returns the name of each section that contains a point that is at that distance from the soma, the range in that section of the point of interest, and the (interpolated) value of the range variable of interest at that point.
Thus the nodes sample space at a finite number of locations. However, for a "continuous" physical system the number of possible distances from any reference point is infinite. It follows that, given any nonzero x, the likelihood that any node in the model is exactly x distance away from any particular reference point in the model is vanishingly small (because the ratio {number of elements in a finite set}/{number of elements in an infinite set} is 0).
So if you need the value of a range variable at some location that falls between a pair of nodes, you must interpolate between the values at those nodes. Since NEURON has second order accuracy in space (error proportional to square of distance between adjacent internal nodes), its solutions can be treated as piecewise linear approximations to the physical system. That is, linear interpolation will give values that are also second order accurate.
Another issue to deal with is branching, which may cause there to be multiple locations that correspond to a particular distance from the reference point.
It shouldn't be difficult to devise an algorithm that, given a specified distance, returns the name of each section that contains a point that is at that distance from the soma, the range in that section of the point of interest, and the (interpolated) value of the range variable of interest at that point.
Re: Getting x at a certain distance from soma
Thank you very much, Ted.