prune an object by removing points near (or far) from a target object

prune(x, target, ...)

# S3 method for neuron
prune(x, target, ...)

# S3 method for dotprops
prune(x, target, ...)

# S3 method for neuronlist
prune(x, target, ...)

# S3 method for default
prune(x, target, maxdist, keep = c("near", "far"),
return.indices = FALSE, ...)

## Arguments

x The object to prune. (e.g. dotprops object, see details) Another object with 3D points that will determine which points in x are kept. Additional arguments for methods (eventually passed to prune.default) The threshold distance for keeping points Whether to keep points in x that are near or far from the target Whether to return the indices that pass the test rather than the 3D object/points (default FALSE)

## Details

prune.neuron depends on a more basic function prune_vertices and is also related to subset.neuron.

prune_strahler, spine, prune_vertices

subset.neuron

subset.dotprops

Other neuron: neuron, ngraph, plot.dotprops, potential_synapses, resample, rootpoints, spine, subset.neuron

## Examples

## prune single neurons
# \donttest{
plot3d(kcs20[],col='blue')
plot3d(kcs20[],col='red')
# }
# prune neuron 2 down to points that are close to neuron 1
neuron2_close=prune(kcs20[], target=kcs20[], maxdist=10)
# \donttest{
plot3d(neuron2_close, col='cyan', lwd=3)
# }
neuron2_far=prune(kcs20[], target=kcs20[], maxdist=10, keep='far')
# \donttest{
plot3d(neuron2_far, col='magenta', lwd=3)
# }

## Prune a neuron with a neuronlist
pruned=prune(kcs20[], kcs20[setdiff(1:20, 11)], maxdist=8)
# \donttest{
plot3d(pruned, col='red', lwd=3)
plot3d(kcs20[], col='green', lwd=3)
plot3d(kcs20,col='grey')
# }