Oh, sorry. A comma got tacked onto the end of that link accidentally. Just remove that trailing comma or use this ( https://github.com/ailich/GLCMTextures)
On Wed, Oct 28, 2020 at 7:28 PM Alexander Ilich <ail...@mail.usf.edu> wrote: > Hi, I'm a bit new to coding in C++, but I'm wondering if anyone knows what > could cause the R Session to abort when running functions coded in C++. > I've tried with R 3.6.3 and R 4.0.3, as well as with the latest CRAN > release and the release on drat. I'm working on some sliding window > processing functions for raster data, and for some reason on my data it > often, but not always, causes my R session to abort if I use a window size > of 17 or greater. The function works fine for smaller window sizes, and > even works with a window size of 17 for rasters of the same size filled > with random numbers. The source code for my functions is available on > github at (https://github.com/ailich/GLCMTextures,) and I've included an > example script below that includes how to install the R package. > > devtools::install_github("ailich/GLCMTextures") #Install my package from > github > > library(raster) > library(GLCMTextures) #Load libraries > > data("test_mat") #Load test data > > r<- raster(test_mat) #Convert to raster > rq<- quantize_raster(r, n_levels = 4, method = "equal prob") #quantize > range to 0-3 > plot(rq) > ?glcm_textures #pull up help file > > #Runs fine > test1<- glcm_textures(r = rq, w = c(15,15), n_levels = 4, quantization = > "none", shift=c(-1,1)) #R function > test2<- GLCMTextures:::C_glcm_textures_helper(rq = as.matrix(rq), w = > c(15,15), n_levels = 4, shift = c(-1,1)) #Internal C++ function called > within the R function > > #Usually causes R to abort (But sometimes runs for some reason) > #If this section runs, usually will not run if you clear the environment, > restart R, and try again > test3<- glcm_textures(r = rq, w = c(17,17), n_levels = 4, quantization = > "none", shift=c(-1,1)) #R function > test4<- GLCMTextures:::C_glcm_textures_helper(rq = as.matrix(rq), w = > c(17,17), n_levels = 4, shift = c(-1,1)) #Internal C++ function called > within the R function glcm_textures > > #From playing around with it and commenting out code blocks, > C_glcm_textures_helper seems to crash at the call to C_make_glcm > > #Create a new dataset of same size (This runs) > rq2<- rq #Make new data equal to old data > values(rq2)<- sample(0:3, size = nrow(rq2)*ncol(rq2), replace = TRUE) > #Replace with random values in same range > plot(rq2) > test4<- glcm_textures(r = rq2, w = c(17,17), n_levels = 4, quantization = > "none", shift=c(-1,1)) #Since it runs on a raster of the same size it > doesn't seem to be that it's too large for the C++ memory. >
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel