def _extract_section(section):
<EOL>if len(section) == <NUM_LIT:1>:<EOL><INDENT>assert section[<NUM_LIT:0>] == '<STR_LIT>',('<STR_LIT>' %<EOL>section[<NUM_LIT:0>])<EOL>return None<EOL><DEDENT>_type = WANTED_SECTIONS.get(section[<NUM_LIT:0>][<NUM_LIT:0>], None)<EOL>start = <NUM_LIT:1><EOL>if _type is None:<EOL><INDENT>_type = WANTED_SECTIONS.get(section[<NUM_LIT:1>][<NUM_LIT:0>], None)<EOL>if _type is None:  <EOL><INDENT>return None<EOL><DEDENT>start = <NUM_LIT:2><EOL><DEDENT>parent = -<NUM_LIT:1> if _type == POINT_TYPE.SOMA else <NUM_LIT:0><EOL>subsection_iter = _flatten_subsection(section[start:], _type, offset=<NUM_LIT:0>,<EOL>parent=parent)<EOL>ret = np.array([row for row in subsection_iter])<EOL>return ret<EOL>
Find top level sections, and get their flat contents, and append them all

    Returns a numpy array with the row format:
        [X, Y, Z, R, TYPE, ID, PARENT_ID]

    Note: PARENT_ID starts at -1 for soma and 0 for neurites