[IMAG]ing eng[INE]s, Tools for Application of Image Filters to Data Matrices
Provides fast application of image filters to data matrices by using C++ algorithms called ‘engines’. More details are shown in vignette.
Get the development version from github:
Or install the CRAN version
For all functions, the main input data must be a numeric matrix
object. Depending on each funtion, user must indicate some extra arguments for the filter.
Next, we show the utility of quantileFilter
, one of the six functions that imagine
performs.
# Load imagine
library(imagine)
# Build an example matrix
n <- 1e3
origMatrix <- matrix(seq(n^2), nrow = n)
# Add some NAs
origMatrix_withNA <- origMatrix
origMatrix_withNA[sample(seq(n^2), 0.7*n^2, replace = FALSE)] <- NA
# Apply filter
newMatrix <- quantileFilter(X = origMatrix_withNA, radius = 3, x = 0.1, times = 1)
# Plot matrices for compare
cols <- colorRampPalette(c("green3", "red4"))(n)
par(mar = c(0, 2, 0, 0), mfrow = c(3, 1))
image(origMatrix, col = cols, axes = FALSE)
mtext(text = "Original", side = 2, line = 0.5, font = 2)
image(origMatrix_withNA, col = cols, axes = FALSE)
mtext(text = "Original with NAs", side = 2, line = 0.5, font = 2)
image(newMatrix, col = cols, axes = FALSE)
mtext(text = "Filtered", side = 2, line = 0.5, font = 2)