SectionList
allroots · append · children · printnames · remove · subtree · unique · wholetree

# SectionList¶↑

class SectionList
Syntax:

sl = h.SectionList()

sl = h.SectionList(python_iterable_of_sections)

Description:

Class for creating and managing a list of sections. Unlike a regular Python list, a SectionList allows including sections based on neuronal morphology (e.g. subtrees).

If sl is a SectionList, then to turn that into a Python list, use py_list = list(sl); note that iterating over a SectionList is supported, so it may not be neccessary to create a Python list.

The second syntax creates a SectionList from the Python iterable and is equivalent to:

sl = h.SectionList()
for sec in python_iterable_of_sections:
sl.append(sec)


SectionList.append()
Syntax:

sl.append(section)

sl.append(sec=section)

Description:
append section to the list

SectionList.remove()
Syntax:

n = sl.remove(sec=section)

n = sl.remove(sectionlist)

Description:

Remove section from the list.

If sectionlist is present then all the sections in sectionlist are removed from sl.

Returns the number of sections removed.

SectionList.children()
Syntax:

sl.children(section)

sl.children(sec=section)

Description:
Appends the sections connected to section. Note that this includes children connected at position 0 of parent.

Note

To get a (Python) list of a section’s children, use the section’s children method. For example:

>>> from neuron import h
>>> s = h.Section(name='s')
>>> t = h.Section(name='t')
>>> u = h.Section(name='u')
>>> t.connect(s)
t
>>> u.connect(s)
u
>>> t.children()
[]
>>> s.children()
[u, t]


SectionList.subtree()

Syntax:

sl.subtree(section)

sl.subtree(sec=section)

Description:
Appends the subtree of the section. (including that one).

Note

To get a (Python) list of a section’s subtree, use the section’s subtree method.

SectionList.wholetree()

Syntax:

sl.wholetree(section)

sl.wholetree(sec=section)

Description:
Appends all sections which have a path to the section. (including the specified section). The section list has the important property that the sections are in root to leaf order.

Note

To get a (Python) list of a section’s wholetree, use the section’s wholetree method.

SectionList.allroots()
Syntax:
sl.allroots()
Description:
Appends all the root sections. Root sections have no parent section. The number of root sections is the number of real cells in the simulation.

SectionList.unique()
Syntax:
n = sl.unique()
Description:
Removes all duplicates of sections in the SectionList. I.e. ensures that no section appears more than once. Returns the number of sections references that were removed.

SectionList.printnames()
Syntax:
.printnames()
Description:

print the names of the sections in the list.

sl.printnames() is approximately equivalent to:

for sec in sl:
print(sec)