Change the root node of a neuron (typically denoting the soma) to a new node specified by a node index, identifier or an XYZ position.
reroot(x, ...)
# S3 method for neuron
reroot(x, idx = NULL, pointno = NULL, point = NULL, ...)
# S3 method for neuronlist
reroot(x, idx = NULL, pointno = NULL, point = NULL, ...)
A neuron
or neuronlist
object
Additional arguments passed to methods
index of the node for the new root (between 1 and the number of nodes in the neuron).
new root node identifier (i.e. the PointNo
column in
the point array of the neuron, see details).
3-vector with X,Y,Z coordinates (data.frame or Nx3 matrix for neuronlist)
neuron with a new root position (unless idx
, pointno
,
and point
are all NULL
, when the original neuron is
returned).
All neurons in the natverse have a root point, which is used for
during many operations on the branching structure of the neuron. This will
often correspond to the soma of a neuron, but the soma is not always
present and sometimes its position may be unknown. For example some
connectomics datasets will have a certain position on a neuron marked as
to soma
when the soma is not present in the reconstruction but it is
known to which branch it is attached.
The root point of a neuron is stored in the StartPoint
field of the
neuron (see Examples) and can also be accessed using the
rootpoints
function. For further details, please consult the
Neurons as
graph structures vignette. As an extension to the original nat
specification, the point identifier (not point index) of the anatomical
soma can be stored in the tags$soma
field of the neuron
The node index refers is a number between 1 and N, the number of points in the neuron. It provides an index into the point array. The node id is an arbitrary identifier which may sometime be the same as the index, but may be e.g. a 64 bit integer that uniquely identifies nodes across all neurons in a database. Node ids can be retained after neurons are pruned even if the indices for each point change. For further details, again see the vignette mentioned above.
newCell07PN <- reroot(Cell07PNs[[2]], 5)
newCell07PN$StartPoint # 5
#> [1] 5