Hi all,
I am trying to understand how 3D morphological points for a given segment can be correlated with compartments of the segment.
For example, if we have the following scenario
create a
access a
pt3dclear()
pt3dadd(x1, y1, z1, diam1)
...
pt3dadd(x10,y10, z10, diam10)
In that case segment "a" has ten 3D points. Does point (x1,y1,z1) correspond to the "0" end of the segment and (x10,y10,z10) correspond to the "1" end of the segment? Does each point correspond to 0.1 increments of a, i.e. the 2nd point corresponds to a(0.1), the 3rd point to a(0.2), etc.
If yes, then the coordinates of the middle (0.5) of the segment should be given by interpolating (x5,y5,z5) and (x6,y6,z6)? Is there a function that returns the interpolated value automatically, so that one can get the 3d
coordinates of a(0.5) or a(0.8)?
Thank you in advance.
3D points of a segment
-
- Site Admin
- Posts: 6384
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: 3D points of a segment
First a word about terminology. Segments do not have 0 or 1 ends.ssothro wrote:Does point (x1,y1,z1) correspond to the "0" end of the segment and (x10,y10,z10) correspond to the "1" end of the segment?
In your code example, a is a section, and its 0 and 1 ends are at
x1,y1,z1 and x10,y10,z10, respectively.
No.Does each point correspond to 0.1 increments of a, i.e. the 2nd point corresponds to a(0.1), the 3rd point to a(0.2), etc.
Internal nodes (the places at which NEURON computes membrane
potential by solving the cable equation) are located at arc values given by
(i+0.5)/nseg
where i=0..nseg-1
These correspond to anatomical path distances
L*(i+0.5)/nseg
from the 0 end.
Given a section whose geometry has been specified with pt3d syntax,
it is not difficult to devise a proc that computes the xyz coords of any
node in that section. You may find it helpful to examine the code in
http://www.neuron.yale.edu/ftp/ted/neur ... nd_rec.zip