voxelize {curveDepth} | R Documentation |
Voxelization of functions
Description
Convertes a pice-wise linear parametrized funtion into a discretized voxel representation.
Usage
voxelize(f, from, to, by)
Arguments
f |
A parametrized function as a list containing a vector "args" (arguments), and a matrix "vals" (values, d columns). |
from |
A vector of d numbers, each giving a starting discretization point for one dimension. |
to |
A vector of d numbers, each giving a finishing discretization point for one dimension. |
by |
A vector of d numbers, each giving discretization step for one dimension. |
Value
A list containing two matrices: "voxels" with rows being voxel numbers, and "coords" with rows being coordinates of voxel centers.
References
Lafaye De Micheaux, P., Mozharovskyi, P. and Vimond, M. (2018). Depth for curve data and applications.
Examples
library(curveDepth)
# Create some data based on growth curves
g1d <- dataf.growth()
g3d <- list("")
set.seed(1)
for (i in 1:length(g1d$dataf)){
g3d[[i]] <- list(
args = g1d$dataf[[1]]$args,
vals = cbind(g1d$dataf[[i]]$vals,
g1d$dataf[[i]]$vals[length(g1d$dataf[[i]]$vals):1],
rnorm(length(g1d$dataf[[i]]$vals), sd = 1) +
rnorm(1, mean = 0, sd = 10)))
}
# Define voxels' bounds and resolution
from <- c(65, 65, -25)
to <- c(196, 196, 25)
steps <- 100
by <- (to - from) / steps
# Voxelize all curves
fs <- list("")
for (i in 1:length(g3d)){
fs[[i]] <- voxelize(g3d[[i]], from, to, by)
}
## Not run:
# Plot first 10 curves
library(rgl)
rgl.open()
rgl.bg(color = "white")
for (i in 1:10){
spheres3d(fs[[i]]$voxels[, 1], fs[[i]]$voxels[, 2], fs[[i]]$voxels[, 3],
col = "red", radius = 0.5)
}
## End(Not run)
[Package curveDepth version 0.1.0.9 Index]