0

488 個のラスター ファイルで GLCM を計算したいと考えています。膨大な計算時間がかかるため、マルチコア プロセッサ (AMD Phenom II 6 コア) のすべてのパワーを使用したいと考えています。

library("glcm")
library(raster)
library(devtools)
install_github('azvoleff/glcm')

setwd(working dir.)
rasters <- list.files()[grep("()\\w*.tif", list.files())]
statistics <- c("mean", "variance", "homogeneity", "contrast", "dissimilarity", "entropy","second_moment", "correlation")
shift1 <- c(0,0,1,1)
shift2 <- c(0,1,0,1)

for (j in 1:length(rasters)){ 
  raster1 <- raster(rasters[j])
  for (i in 1:length(statistics)){
    for (k in 1:length(shift1)){
      GLCM <- glcm(raster1, window=c(11,11), statistics=statistics[i], shift = c(shift1[k],shift2[k]), na_opt="ignore")

      file <- paste("./GLCM/", substr(tiles[j],0,nchar(tiles[j])-4),"_", statistics[i], "_shift_",shift1[k], shift2[k] , ".tif", sep="")
      writeRaster(GLCM, filename = file, type = "GTIFF")    
    }

  }
  gc()
}

インターネットで R のマルチコア ソリューションを検索しましたが、最新のものを見つけることができませんでした。だから誰かが私を助けてくれることを願っています。

4

1 に答える 1