Your bitmaps are looking down the Y axis onto the XZ plane (X axis horizontal, Z axis vertical, Y axis orthogonal to the plane of the image).
I can't comment about the original morphometric data without seeing it for myself. However, I can tell you that in the imported model, what you are probably calling the soma is called dend_0[0].
print secname()
returns
dend_0[0]
Two separate subtrees are attached to the 0.5 location of dend_0; their most proximal sections are dend_0[1] and dend_0[12].
objref ssec
ssec = new SectionList()
dend_0[0] ssec.children()
forsec ssec print secname()
returns
dend_0[12]
dend_0[1]
Confirmed by exporting the model cell from the CellBuilder to a hoc file and then examining the file to see
Code: Select all
proc celldef() {
topol()
. . .
}
create dend_0[27]
proc topol() { local i
connect dend_0[1](0), dend_0(0.5)
. . .
connect dend_0[12](0), dend_0(0.5)
. . .
"Well, I don't want all children of the soma to attach to the middle of the soma."
Sorry, that's what the CellBuilder does, on the presumption that the soma is usually small compared to the total extent of the cell (so cosmetics aren't much affected by where things are attached), and electrotonically very compact (so anything attached to any part of the soma might just as well be attached to the middle). To prevent that from happening, the process of collecting morphometric data from the cell should be done in a way that treats the soma as a chain of two or more separate sections, with each child neurite connected to a junction between two adjacent soma sections. If you have a good idea of where the child neurites should be attached, you might try exporting the unsatisfactory CellBuilder to a hoc file (I'd export it to a cell class template), then edit a copy of that hoc file so that you get what you want. If you just want the two child neurites to attach to opposite ends of the soma, the editing task would be very easy because no pt3d data would have to be changed--simply change the connect statements.