This happens because NetPyNE calculates segment coords only once per population (in Pop.calcRelativeSegCoords()), and then reuses it for all cells in this pop, assuming that they all have the same morphology. But if this assumption is broken, it crashes.
To solve this, need to either calculate it per each cell, without per-pop caching (bulletproof but might be expensive), or once per cellType (more efficient but still vulnerable in case some subset of cells of given cellType has the modified morphology modified by modifyCells())
This happens because NetPyNE calculates segment coords only once per population (in
Pop.calcRelativeSegCoords()
), and then reuses it for all cells in this pop, assuming that they all have the same morphology. But if this assumption is broken, it crashes. To solve this, need to either calculate it per each cell, without per-pop caching (bulletproof but might be expensive), or once percellType
(more efficient but still vulnerable in case some subset of cells of givencellType
has the modified morphology modified bymodifyCells()
)