Thank you Greg. That change worked perfectly! Not sure why that wasn't always causing problems, but that fixed the issue and I pushed the changes to github. Also, thank you Dirk for the additional resources.
On Wed, Oct 28, 2020 at 7:43 PM Alexander Ilich <ail...@mail.usf.edu> wrote: > 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