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.neuron

subset.dotprops

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

## Examples

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

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