`rootpoints`

returns the root point(s) (one per tree, often
the soma).

`branchpoints`

returns the branch points.

`endpoints`

returns the end points (aka leaf nodes); the
root point will be returned if it also a leaf node.

rootpoints(x, ...)
# S3 method for default
rootpoints(x, ...)
# S3 method for neuron
rootpoints(x, subtrees = 1, ...)
# S3 method for igraph
rootpoints(x, ...)
branchpoints(x, ...)
# S3 method for default
branchpoints(x, ...)
# S3 method for neuron
branchpoints(x, subtrees = 1, ...)
# S3 method for igraph
branchpoints(x, ...)
endpoints(x, ...)
# S3 method for neuron
endpoints(x, subtrees = 1, ...)
# S3 method for igraph
endpoints(x, ...)
# S3 method for default
endpoints(x, ...)

## Arguments

x |
Neuron or other object (e.g. `igraph` ) which might have roots |

... |
Further arguments passed to methods (for `ngraph` or
`igraph` objects eventually `graph.nodes` )). |

subtrees |
Integer index of the fully connected subtree in
`x$SubTrees` . Only applicable when a `neuron` consists of
multiple unconnected subtrees. |

## Value

FIXME Raw indices (in range 1:N) of vertices when `x`

is a
neuron, integer point identifier (aka PointNo) otherwise.

## Details

A neuron may have multiple subtrees and therefore multiple roots. At
present there is discrepancy between the `*.neuron`

and
`*.igraph`

methods. For `neuron`

s we return the node indices, for
`igraph`

/`ngraph`

objects the node identifiers (aka
names/PointNo)

`branchpoints.neuron`

returns a list if more than one subtree
is specified

## See also

## Examples

rootpoints(Cell07PNs[[1]])

#> [1] 1

endpoints(Cell07PNs[[1]])

#> [1] 1 42 59 62 80 85 96 100 102 112 117 121 134 148 154 165 172 180