




[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:
# install.packages("devtools")devtools::install_github("LuisLauM/imagine")Or install the CRAN version
install.packages("imagine")For all functions, the main input data must be anumeric matrix object. Depending on each funtion, user must indicate some extra arguments for the filter.
Next, we show the utility ofquantileFilter, one of the six functions thatimagine performs.
# Load imaginelibrary(imagine)# Build an example matrixn<-1e3origMatrix<-matrix(seq(n^2),nrow=n)# Add some NAsorigMatrix_withNA<-origMatrixorigMatrix_withNA[sample(seq(n^2),0.7*n^2,replace=FALSE)]<-NA# Apply filternewMatrix<- quantileFilter(X=origMatrix_withNA,radius=3,x=0.1,times=1)# Plot matrices for comparecols<- 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)- Minor correction on
is_extreme C++ function. - Minor corrections on
contextualMF documentation.
- Adding the
na_only argument in several functions allowing to apply the filters only in the cells where there isNA and replacing with the original value in the rest.
- Reorganization of the engines' code into separate files.
- Adding new function (
agenbagFilters) that performs two methods for gradient calculation. - Some minor improvements in documentation, vignettes and code.
- Important corrections, improvements and changes in engines 2, 4 and 5, so as in functions
convolutionQuantile,convolutionMedian,quantileFilter andcontextualMF. times argument incontextualMF is not longer available.na argument is removed from previous functions: onlyNA will be considered as aNA.