add_shape_descriptors() is an S7 generic that computes a number of shape
descriptors for each streamline object and stores them in the
@streamline_data or @point_data slots as appropriate, with methods
available for the following classes:
This function provides a convenient way to compute shape descriptors and
attach them to streamline or bundle objects. See the documentation for
each individual shape descriptor function (e.g. get_euclidean_length(),
get_curvilinear_length(), get_sinuosity(), get_curvature(),
get_torsion()) for more details on how each descriptor is computed.
Usage
add_shape_descriptors(
x,
descriptors = c("euclidean_length", "curvilinear_length", "sinuosity", "curvature",
"torsion")
)Arguments
- x
A streamline or bundle object.
- descriptors
A character vector of shape descriptors to add. Defaults to all available descriptors:
c("euclidean_length", "curvilinear_length", "sinuosity", "curvature", "torsion").
Value
An object of the same class as x with the specified shape descriptors
added to the @streamline_data or @point_data slots of each streamline.
Examples
# add multiple shape descriptors to a single streamline
pts <- matrix(runif(30), ncol = 3)
colnames(pts) <- c("X", "Y", "Z")
sl <- streamline(points = pts)
sl <- add_shape_descriptors(
sl,
descriptors = c("euclidean_length", "curvilinear_length", "sinuosity")
)
# add multiple shape descriptors to a bundle
sl1 <- streamline(points = pts)
pts2 <- matrix(runif(60), ncol = 3)
colnames(pts2) <- c("X", "Y", "Z")
sl2 <- streamline(points = pts2)
b <- bundle(streamlines = list(sl1, sl2))
b <- add_shape_descriptors(
b,
descriptors = c("euclidean_length", "curvilinear_length", "sinuosity")
)